javascript - ngRepeat 上的绑定(bind)

标签 javascript angularjs bindonce

在 ng-repeat 对象上使用 native bindonce 会产生什么效果?例如:

ng-repeat="data in ::stuff"

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

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

最佳答案

对于::stuff 中的 data,数组会绑定(bind)一次,并且在第一次绑定(bind)后不会创建 $watcher,因此对该数组的任何更改都会不更新您的 ng-repeat 的 View 。

但是,除非您有 ::data.thing 对单个对象的更改仍然会被注册。这些观察者属于对象本身,而不是数组的浅层内容。

请参阅下面我的 plunkr。

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

关于javascript - ngRepeat 上的绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33740861/

相关文章:

javascript - 嵌入 youtube 视频不会在谷歌浏览器的设备模式下自动播放

javascript - 类型错误 : 'undefined' is not a constructor (evaluating 'new JdRes())

python - 使用隐式授权类型的 Django oauth 工具包

angularjs - 模型更改时如何绑定(bind)一种 Angular 并再次绑定(bind)?

javascript - 绑定(bind)一次但允许刷新整个项目的有效方法

javascript - 如何格式化数组中的元素?

javascript - 单击另一个元素时向元素添加类

javascript - 按 Control+C 触发事件,但仍允许复制

javascript - ASP .NET MVC Core WEB API 上传文件使用 Angular JS 显示错误

angularjs - 将对象传递给自定义指令而不创建观察者?