2015-12-16 16 views
7

मैं Angularjs के लिए थोड़ा नया हूँ। मुझे जो चाहिए वह है "$ scope.myVar" अंदर परिवर्तनीय 'myController' नियंत्रक। यदि आप समाधान प्रदान कर सकते हैं तो यह बहुत मददगार होगा।एक्सेस AngularJs निर्देशक अंदर नियंत्रक

angular.module('myDirective', []) 
 
     .controller('myController', ['$scope', function ($scope) { 
 
       
 
      }]) 
 
     .directive('myDirective', function() {   
 
      return { 
 
       scope: { 
 
        myVar: '='     
 
       }, 
 
       controller: function ($scope) { 
 
        $scope.myVar = 'xyz'; 
 
        alert($scope.myVar); 
 
       } 
 
      }; 
 
     });
<html lang="en-US"> 
 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
 
    <script type="text/javascript" src="newjavascript.js"></script> 
 
    <body ng-app="myDirective"> 
 
     <div ng-controller="myController"> 
 
      <my-directive></my-directive>> 
 
     </div> 
 
    </body> 
 
</html>

उत्तर

12

तुम सिर्फ अपने नियंत्रक में एक myVar चर बना सकते हैं और यह निर्देश my-var विशेषता का उपयोग करने के लिए गुजरती हैं।

अपने myController में, जैसा कि

$scope.myVar= "Hello" 

मैं अपने डोम myVar को परिभाषित करें, निर्देश के लिए यह

<my-directive my-var="myVar"></my-directive> 

के रूप में पारित जब से तुम दो तरह से बाध्यकारी उपयोग कर रहे हैं, द्वारा myVar में किए गए बदलाव निर्देश आपके नियंत्रक में उपलब्ध हैं।

परिवर्तनों को ट्रैक करने के लिए आप myVar पर watch डाल सकते हैं।

+1

धन्यवाद एक बहुत VVK यह काम करता है – vimuth

+0

धन्यवाद एक बहुत है, मैं उम्र के लिए मेरे सिर खरोंच किया गया था और इस कड़ी (आप निर्देश और विशेषता के माध्यम से माता-पिता नियंत्रक के बीच बाँध डेटा की जरूरत है) –

7
angular.module('myDirective', []) 
     .controller('myController', ['$scope', function ($scope) { 
       $scope.show = function() { 
        alert($scope.myVar); 
       }; 
      }]) 
     .directive('myDirective', function() {   
      return { 
       scope: { 
        myVar: '='     
       }, 
       controller: function ($scope) { 
        $scope.myVar = 'xyz'; 
        alert($scope.myVar); 
        $scope.$parent.myVar = $scope.myVar; // here you can access the controller scope by using $parent 
       } 
      }; 
     }); 
+2

धन्यवाद एक बहुत था " विजय शेगोकर "। – vimuth

+1

आपने मेरा दिन बचाया। धन्यवाद –

+1

यह मेरे लिए भी काम किया। – costa

संबंधित मुद्दे