Angularjs 快速ng重复不会更新视图

Angularjs 快速ng重复不会更新视图,angularjs,performance,Angularjs,Performance,我使用quick ng repeat对列表进行迭代,因为它是一个巨大的列表,我会提高性能 现在我意识到,如果我更改了模型,视图不会用以下代码更新: <span quick-ng-repeat="item in collection track by $index" quick-repeat-list="items"> {{ item }} </span> {{item}} 使用此代码 <span ng-repeat="item in collection t

我使用quick ng repeat对列表进行迭代,因为它是一个巨大的列表,我会提高性能

现在我意识到,如果我更改了模型,视图不会用以下代码更新:

<span quick-ng-repeat="item in collection track by $index" quick-repeat-list="items">
 {{ item }}
</span>

{{item}}
使用此代码

<span ng-repeat="item in collection track by $index">
 {{ item }}
</span>

{{item}}
一切都很好。 有人知道为什么会这样吗?
非常感谢

Quick ng repeat是单向绑定,它与我们在angularjs中所做的类似

<div ng-repeat="item in ::items">{{item.name}}</div>
{{item.name}

这不会创建不必要的手表。

quick ng repeat不像ng repeat那样实现深度手表,它实现单向绑定方法。因此,如果您的模型经常更改,请不要使用它

在Angular 1.2中,对ngRepeat的语法做了一个新的添加:惊人的令人敬畏的track by子句。它允许您为ngRepeat指定自己的密钥,以便识别对象,而不仅仅是生成唯一的ID


这意味着您可以将上述内容更改为ng repeat=“task in tasks track by task.id”,并且由于原始任务和服务器上更新的任务中的id相同,因此ngRepeat将知道不重新创建DOM元素并重用它们

我认为Quick ng repeat使用与angular 1.4中相同的单一绑定,如(:).单一绑定意味着它将为您的重复创建一个观察者,这就是为什么当对象发生更改时它不会生效

<div ng-repeat="obj in ::objList">{{obj.name}}</div>
{{obj.name}