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”或者按其他唯一標志排序即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM