AngularJS बाल नियंत्रक से अभिभावक दायरे का उपयोग करें



Answers

मैंने अभी जांच की है

$scope.$parent.someProperty

मेरे लिये कार्य करता है।

और यह होगा

{{$parent.someProperty}}

देखने के लिए।

Question

मैंने data-ng-controller="xyzController as vm" का उपयोग करके अपने नियंत्रकों को स्थापित किया है

मेरे पास माता-पिता / बच्चे नेस्टेड नियंत्रकों के साथ एक परिदृश्य है। मुझे $parent.vm.property का उपयोग करके नेस्टेड एचटीएमएल में मूल गुणों तक पहुंचने में कोई समस्या नहीं है, लेकिन मैं यह नहीं समझ सकता कि मेरे बच्चे नियंत्रक के भीतर से मूल संपत्ति का उपयोग कैसे किया जाए।

मैंने $ स्कोप इंजेक्शन करने और फिर $scope.$parent.vm.property का उपयोग करने का प्रयास किया है $scope.$parent.vm.property , लेकिन यह काम नहीं कर रहा है?

क्या कोई सलाह दे सकता है?




मेरा मानना ​​है कि मेरे पास हाल ही में एक समान विवाद था

function parentCtrl() {
   var pc = this; // pc stands for parent control
   pc.foobar = 'SomeVal';
}

function childCtrl($scope) {

   // now how do I get the parent control 'foobar' variable?
   // I used $scope.$parent

   var parentFoobarVariableValue = $scope.$parent.pc.foobar;

   // that did it
}

मेरा सेटअप थोड़ा अलग था, लेकिन एक ही चीज़ शायद अभी भी काम करनी चाहिए




शायद यह लंगड़ा है लेकिन आप उन्हें दोनों बाहरी वस्तु पर भी इंगित कर सकते हैं:

var cities = [];

function ParentCtrl() {
    var vm = this;
    vm.cities = cities;
    vm.cities[0] = 'Oakland';
}

function ChildCtrl($scope) {
    var vm = this;
    vm.cities = cities;
}

यहां लाभ यह है कि ChildCtrl में संपादन अब माता-पिता के डेटा पर प्रचारित करते हैं।




कुछ बार आपको सीधे बाल दायरे में मूल गुणों को अपडेट करने की आवश्यकता हो सकती है। उदाहरण के लिए एक बच्चे नियंत्रक द्वारा परिवर्तन के बाद अभिभावक नियंत्रण की तारीख और समय को बचाने की आवश्यकता है। उदाहरण के लिए JSFiddle में कोड

एचटीएमएल

<div ng-app>
<div ng-controller="Parent">
    event.date = {{event.date}} <br/>
    event.time = {{event.time}} <br/>
    <div ng-controller="Child">
        event.date = {{event.date}}<br/>
        event.time = {{event.time}}<br/>
        <br>
        event.date: <input ng-model='event.date'><br>
        event.time: <input ng-model='event.time'><br>
    </div>
</div>

जे एस

    function Parent($scope) {
       $scope.event = {
        date: '2014/01/1',
        time: '10:01 AM'
       }
    }

    function Child($scope) {

    }



Links