मैंने एक सरल निर्देश बनाने की कोशिश की है जो एक नाम प्रदर्शित करता है और इसे बदलने की अनुमति देता है। जब मैं नाम पृष्ठ पर एकाधिक निर्देश डालता हूं तो वे सभी नाम विशेषता साझा करते हैं। मैं क्या गलत कर रहा हूं?मेरे एंगुलरजेएस निर्देशों का दायरा क्यों साझा कर रहे हैं?
<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset=utf-8 />
<title></title>
<script src="http://code.angularjs.org/1.2.0-rc.3/angular.min.js"></script>
<script src="http://code.angularjs.org/1.2.0-rc.3/angular-resource.min.js"></script>
<script src="http://code.angularjs.org/1.2.0-rc.3/angular-animate.min.js"></script>
<script>
var app = angular.module('app', []);
app.directive('person', function() {
function link ($scope, elem, attrs, ctrl) {
$scope.name = "OLD"
$scope.setName = function() {
$scope.name = 'NEW';
}
}
return {
restrict: 'E',
replace: true,
template: "<span>Current name = {{name}}<a href='' class='btn' ng-click='setName()'>Change name</a><br></span>",
link : link,
}
});
app.controller('MainCtrl', function ($scope) { });
</script>
</head>
<body ng-controller='MainCtrl'>
<person></person><br>
<person></person><br>
<person></person><br>
<person></person><br>
</body>
</html>
सभी अपने निर्देश शेयर एक ही दायरे के उदाहरण के बाद से वे अलग-अलग क्षेत्रों का उपयोग न करें। चेक-आउट [निर्देश दस्तावेज] (http://docs.angularjs.org/guide/directive), "निर्देश का दायरा अलग करना" अनुच्छेद –