其他分享
首页 > 其他分享> > angularJS ng-repeat="item in XXX track by $index"问题记录

angularJS ng-repeat="item in XXX track by $index"问题记录

作者:互联网

参考:https://blog.csdn.net/lunhui1994_/article/details/80236315

 

问题:项目中对数据做了分页效果,理想是:当页数大于6时,隐藏>6的页数。点击上一页、下一页时,对应序号高亮。当前页为第6页,点击下一页时,序号始终无法高亮。

原因:ng-repeat="item in pagenum track by $index"  —— track by $index这句有问题

    由于$index会跟随item上移下移,或者随之被删除。(例如你把列表第二条和第一条位置互换,这时候列表现在第一条的index依旧为2,第二条还是原来的1)这时候你再使用‘ index依旧为2,第二条还是原来的1)这时候你再使用`index依旧为2,第二条还是原来的1)这时候你再使用‘index`传值就不在是新数组的索引了,不再匹配

    我一开始时让序号数组pagenum只取前6页,当前页为第6页,点击下一页时再加载后面的页数,重新排序了pagenum,所以出了问题。

  

解决:去掉“track by $index”或者按其他唯一标志排序即可。

标签:index,repeat,pagenum,track,页数,item,第二条
来源: https://www.cnblogs.com/linjiangxian/p/11654750.html