0

在 ng-repeat 对象上使用本机 bindonce 有什么影响?例如:

ng-repeat="data in ::stuff"

这是否意味着“东西”中的每个项目都已删除观察者?还是您仍然需要像这样对重复中的每个子绑定应用 bindonce ?

<div ng-repeat="data in ::stuff">
  <span ng-bind="::data.thing"></span>
</div>
4

1 回答 1

1

对于data in ::stuff,数组被绑定一次,并且 a$watcher在第一次绑定后不会创建,因此对该数组的任何更改都不会更新您ng-repeat的视图。

但是,除非您::data.thing对个别对象进行了更改,否则仍将被注册。这些观察者属于对象本身,而不是数组的浅层内容。

请参阅下面的我的 plunkr。

<iframe src="http://embed.plnkr.co/3gbmI2kqd3rT7z0GEyK7/"></iframe>

于 2015-11-16T17:31:22.157 回答