我有一个这样的 ng-repeat 设置:
ng-repeat="article in main[main.mode].primary | orderBy: main[main.mode].primary.filter.order
track by article.url"
main[main.mode].primary
是一个数组,而 ...<code>.filter.order 是一个字符串。
根据这篇博文
在幕后 ngRepeat 为每个任务添加了一个 $$hashKey 属性来跟踪它。如果您用来自服务器的新任务对象替换原始任务,即使它们实际上与您的原始任务完全相同,它们也不会具有 $$hashKey 属性,因此 ngRepeat 不会知道它们代表相同的元素。
重新生成列表是一项非常常见的任务,该应用程序会挂起超过一秒钟,因此我对跟踪感兴趣。根据我看过的许多问题和文档,我使用正确的语法来排序和跟踪数组。从文档:
项目中的项目 | filter:searchText track by item.id 是一种模式,可用于结合跟踪表达式将过滤器应用于项目。
为什么不通过实施跟踪?我正在运行角度 1.3.11。
编辑 如果我删除 orderBy 参数,它甚至都不起作用
ng-repeat="article in main[main.mode].primary track by article.url"