【发布时间】:2017-06-27 08:01:10
【问题描述】:
我有列表,它使用 ng-repeat 重复一次绑定,如下所示
<div ng-repeat="item in ::items">
{{::item.name}}
</div>
当列表发生变化时,例如添加/删除,我可以通过广播 $$rebind:refresh 事件来更新项目,如下所示。
<div ng-repeat="item in :refresh:items">
{{::item.name}}
</div>
来源:对于上述的做法,引用自此one time binding repeated items update
但对我来说,如果当时有更改,我想更新单个项目,在这里我可以触发相同的事件,但是有什么优雅的方法可以在不刷新整个列表的情况下更新单个项目
【问题讨论】:
-
为什么需要一次性绑定?
-
您可以简单地使用两种方式绑定,我相信对于少量数据它不会有很大的不同。
-
@AKA 你是对的,我们可以将它用于较小的列表。但我有大量的数据集,如果我使用两种方式绑定,性能会下降
-
您可以将一种方式绑定到那些仅绑定一次的值,而将所有其他方式绑定到两种方式绑定。
-
我明白这一点,但我想让每个项目属性单向绑定,而 ng-show 和 ng-hide 或 ng-if 等剩余的东西已经有两种绑定......我想在这里尽可能减少观察者。因为我将在我的应用程序中拥有大量项目
标签: javascript angularjs angularjs-ng-repeat