![](/img/trans.png)
[英]AngularJS: ng-repeat in directive with isolated scope and $last
[英]Using ng-repeat in directive with isolated scope
具有隔離范圍的指令內的ng-repeat
不會拾取通過'='
綁定傳遞的屬性。
HTML:
<body ng-controller="myCtrl">
<div my-directive list="users">
<ul>
<li ng-repeat="item in list">
{{item.name}}
</li>
</ul>
</div>
</body>
JS:
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {
$scope.users = [
{ name: 'John Doe'},
{ name: 'Jane Doe' },
{ name: 'Jesse Doe' }
];
});
app.directive('myDirective', [function() {
return {
restrict: 'A',
scope: {
list: '='
},
link: function(scope, element, attrs) {
}
}
}]);
上面的代碼在angular 1.0.8下工作正常: http : //jsfiddle.net/shazmoh/4DN39/7/
但不適用於有角1.2.14: http : //jsfiddle.net/shazmoh/4DN39/6/
我缺少的'1.2.x'發生了什么變化?
從遷移到1.2指南 :
隔離僅暴露於具有范圍屬性的指令的范圍
沒有隔離范圍的指令不會從同一元素上的隔離指令獲得隔離范圍。 如果您的代碼依賴於此行為(非isolate指令需要從isolate范圍內訪問狀態),請更改isolate指令以使用范圍局部變量來顯式傳遞這些行為。
因此,對於> 1.2.0,隔離的指令是完全隔離的 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.