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

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

 

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

缘由:ng-repeat="item in pagenum track by $index"  —— track by $index这句有问题.net

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

 

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

  

解决:去掉“track by $index”或者按其余惟一标志排序便可。索引

相关文章
相关标签/搜索