ng-repeat 一次性绑定继承?
ng-repeat one-time binding inheritance?
如果我有一个 ng-repeat
指令通过 一次性 绑定遍历列表的列表,则嵌套 ng-repeat
通过每个内部列表也需要一次性绑定,还是多余的?
<div ng-repeat="list in ::$ctrl.lists">
<span ng-repeat="item in list">{{item}}</span>
</div>
我是否需要将内部 ng-repeat
更改为 item in ::list
? $ctrl.lists
永远不会以任何方式改变。
指定的地方是inherit,如果绑定了数组,数组中的对象仍然可以改变,所以span循环最好也加上'::'。
http://jsfiddle.net/vw2fjxys/64/
var a = [1,2,3]
setTimeout(function(){
console.log(2)
a.length = 2
$scope.$apply();
},3000)
$scope.lists = [a];
您可以在 2 秒后的示例中看到,使用 :: 不会为内部循环重新计算它,但没有它。
如果我有一个 ng-repeat
指令通过 一次性 绑定遍历列表的列表,则嵌套 ng-repeat
通过每个内部列表也需要一次性绑定,还是多余的?
<div ng-repeat="list in ::$ctrl.lists">
<span ng-repeat="item in list">{{item}}</span>
</div>
我是否需要将内部 ng-repeat
更改为 item in ::list
? $ctrl.lists
永远不会以任何方式改变。
指定的地方是inherit,如果绑定了数组,数组中的对象仍然可以改变,所以span循环最好也加上'::'。
http://jsfiddle.net/vw2fjxys/64/
var a = [1,2,3]
setTimeout(function(){
console.log(2)
a.length = 2
$scope.$apply();
},3000)
$scope.lists = [a];
您可以在 2 秒后的示例中看到,使用 :: 不会为内部循环重新计算它,但没有它。