javascript - पृथक गुंजाइश मूल्य क्लिक पर नहीं बदल रहा है




angularjs angularjs-directive (2)

मेरे पास एक सरल उदाहरण है, जहां मैं निर्देशित टेम्पलेटिंग द्वारा "पीटर" शब्द को दिखाना चाहता हूं। जब कोई व्यक्ति div पर एक क्लिक करता है - नाम "जूलियट" में बदल जाता है हालांकि मुझे कोई त्रुटि नहीं मिली है और स्क्रीन पर कुछ भी दिखाई नहीं दे रहा है।

<html>
<head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js" ></script> 
</head>
<body ng-app="myApp" ng-controller="myCtrl"> 
    <people name="peter"></people>
    <people name="peter"></people>
    <script>
        //app declaration
        var app = angular.module('myApp', []);
        //controller declaration
        app.controller('myCtrl', function($scope) {
          //code goes here ... 
        });
        //directive declaration
        app.directive('people', function() {
          return {
            restrict: 'E',
            scope: {name:'='},
            template: '<div ng-click="name = \'Juliet\'">{{name}}</div>',
          }
        });
    </script> 
</body> 
</html>

ऐसा हो रहा है क्योंकि कोणीय "अभिव्यक्ति" के रूप में "पीटर" का मूल्यांकन करता है, यानी वह एक चर नाम जिसे वह हल नहीं कर सकता। यदि आप एक स्ट्रिंग पास करना चाहते हैं, तो बस इसके चारों ओर "


क्योंकि पीटर एक चर है यदि आप "=" के साथ गुंजाइश का उपयोग करते हैं, तो आपको अपने वैल्यूएबल में कुछ वैल्यू को सेट करना होगा जैसे कि आपके नियंत्रक

app.controller('myCtrl', function($scope) {
  //code goes here ... 
  $scope.peter = 'John';
});

तब आप कुछ देखेंगे पीटर वैरिएबल का मूल्य नहीं था, इसलिए आपने कुछ नहीं देखा और 'जूलियट' को बदलने के लिए उस पर क्लिक नहीं किया जा सका





angularjs-scope