Verileri ana denetleyicinin kapsamından alan aşağıdaki Eğik Yönergeye sahibim. Benim Sorunum, aynı yönerge aynı sayfaya birden çok kez eklendiğinde, kapsamları aynı olur. Herhangi bir direktifteki değerlerden biri değiştirildiğinde, tüm direktiflerde aynı değer de değişir.Birden çok açısal yönerge örneği için farklı kapsam
Benim Yönergesi
angular.module('myapp').directive('memberAddress', function() {
return {
restrict: 'E',
templateUrl: '/Directives/memberAddress.html'
}
});
memberAddress.html:
<div class="col-md-4">
<h3>{{addressModel.title}}</h3>
</div>
Veli Tasarım:
<div id="addressDiv">
<div class="row"></div>
</div>
Veli kontrolörü:
angular.module('myapp').controller('MemberController', MemberController);
MemberController.$inject = ['$scope', '$compile'];
function MemberController($scope, $compile) {
$scope.addressModel = { title: ''}
$scope.addAddress = function() {
// "$scope.addressModel" Now it has some title text from UI.
var row = angular.element(document.getElementById('addressDiv')).find('.row');
var el = $compile("<member-address></member-address>")($scope);
row.append(el);
}
}
addAddress() çağrısında, sayfaya ilk kez "memberAddress" yönergesi ekler. Ancak, UI'den başka bir addressModel.title eklediğimde, yeni bir yönerge ekler, ancak daha önce eklenen "memberAddress" yönergesindeki başlığı değiştirir ve başlık metnini tüm yönergeler için aynı yapar.
Diğer yönergelerin değişmesini engellemenin bir yolu var mı?
Neyi başarmaya çalıştığınızı anlamakta zorlanıyorum. Ama emin olan bir denetleyicide DOM manipülasyon yapmamalısınız. Bir sayfaya bir öğe eklemek istiyorsanız, modelinizdeki bir diziye bir nesne ekleyin ve dizideki her nesneyi görüntülemek için ng-yineliğini kullanın. –