我是 Angularjs 新手,我的应用程序(使用 Angular 和 Rails 构建)花费了太多时间来加载图像/数据。所以我打算优化一下代码。这是一个非常快速而简短的问题。使用 ng-repeat 的最佳方法是什么?我计划在 ng-repeat 中使用 track by
。
在我的 $scope.attributes
中,我从服务器获取了数千个数据。每个领域都有很多领域。但我想使用其中的单个字段。所以我尝试了这样的事情:
<div ng-repeat="attribute in attributes track by attribute.name" >
<li> {{attribute.name}} </li>
</div>
这是正确的方法吗?我看到很多例子都使用 track by task.id
那么我可以使用任何特定
字段名称而不是id
?我也可以使用过滤器吗? $$hashkey
方法的含义是什么?我想加载图像,但需要更多时间。请专家指点。
最佳答案
如果您通过 .name 进行跟踪,它将使用 .name 作为标识符,例如,如果列表发生更改,它将通过 .name 查找 ROW
如果列表不会改变,就看单向绑定(bind)
<div ng-repeat="attribute in ::attributes track by $index" >
<li> {{attribute.name}} </li>
</div>
-- 我相信这会给你一个围绕 LI 的 DIV
与你的问题无关,但刚刚做了一些 AngularJS 性能调整。 考虑使用 ng-if 而不是 ng-show/ng-hide , ng-show/hide 仍然会生成 DOM , ng-if 不会。 (您可能已经这样做了)
关于javascript - 在 Angularjs 中针对特定领域使用 ng-repeat 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29538898/