我刚刚在这里了解了$ scope.watch https://stackoverflow.com/a/15113029/2241256。
它表示视图中使用的所有内容都是由角度监视的。所以我想知道当我在ng-repeat中使用包含大对象的数组时会发生什么?
假设每个对象都有一个属性:'name',这是我在列表中唯一使用的东西。角度是否仍会在整个对象中查找更改,或者只查看每个对象的“名称”属性?
答案 0 :(得分:3)
由于在视图上显示,AngularJS仅监视对象的name
属性。顺便说一下,如果那些name
属性的值不需要直接更新,则可以通过在变量之前添加::来使用单向数据绑定。喜欢; ng-bind="::object.name"
。如果这样做,AngularJS不会监视您对象的变量。别担心。如果更新包含所有这些对象的数组,AngularJS将因更新数组而更新这些名称属性。
您可以阅读this page个单向数据绑定文档。
答案 1 :(得分:2)
只是'名称'属性。
仅监视模板内部使用的内容({{和}}之间)或手动注册($scope.watch('myVar', function () { ... })
)