我是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
所以我可以使用任何specific
字段名称而不是 id
吗?我也可以使用过滤器吗? $$hashkey
方法的含义是什么?我想加载图片,需要更多时间。请专家建议。
答案 0 :(得分:1)
如果你通过.name跟踪,它将使用.name作为标识符,例如,如果列表更改,它将通过.name找到ROW
如果列表不会改变,请查看单向绑定
<div ng-repeat="attribute in ::attributes track by $index" >
<li> {{attribute.name}} </li>
</div>
- 我相信这会给你一个围绕LI的DIV
与您的Q无关,但刚刚完成了一些AngularJS性能调整。 考虑使用ng-if代替ng-show / ng-hide,ng-show / hide仍然会产生DOM,如果不是,则ng-show。 (你可能已经这样做了)