返回顶部

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`传值就不在是新数组的索引了,不再匹配

 

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

  

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

posted @ 2019-10-11 15:57  前端-xyq  阅读(885)  评论(2编辑  收藏  举报