ng-repeat 中的 track by $index 解决相同的ID的对象

来源:互联网 发布:淘宝可以看到历史价格 编辑:程序博客网 时间:2024/05/17 01:32

ng-repeat 中的 track by $index 解决相同的ID的对象

 ng-repeat="item in resultLists track by $index"

用ng-repeat指令遍历一个javascript数组,当数组中有重复元素的时候,angularjs会报错,这是因为ng-Repeat不允许collection中存在两个相同Id的对象。

对于数字或者字符串等基本数据类型来说,它的id就是它自身的值。因此数组中是不允许存在两个相同的数字的。为了规避这个错误,需要定义自己的track by表达式。

// 业务上自己生成唯一的id
item in items track by item.id

//或者直接拿循环的索引变量$index来用
item in items track by $index

Error: [ngRepeat:dupes]这个出错提示具体到题主的情况,意思是指数组中有2个以上的相同数字。ngRepeat不允许collection中存在两个相同Id的对象


阅读全文
0 0
原创粉丝点击