国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

angular-bootstrap-ui's pagination ng-change 事件在頁面加載時會執行兩次

2024-04-27 15:10:25
字體:
來源:轉載
供稿:網友

bootstrap-ui pagination的一個坑!

問題描述:當用來自 $state 相應的頁索引來初始化Controller時發生,angular-bootstrap-ui的 pagination 指令會初始化和觸發 ng-change 事件并把頁碼重置為1,導致無法正確跳轉到指定頁面。("angular-ui-bootstrap": "^0.13.3")

解決方式:在pagination外邊加ng-if判斷total-items對應的總條數modal值是否大于0

例如:

<div class="row text-center" ng-if="vm.total">      <pagination total-items="vm.total" items-per-page="vm.pagination.pageSize"                  ng-model="vm.pagination.page" max-size="maxSize"                   class="pagination bootpag"                  num-pages="totalPages" ng-change="vm.pageChanged()"                   ng-click="vm.clickPagination()">          </pagination></div>

原因:

查看bootstrap-ui源碼,會發現它監聽了totalPages,并判斷當前頁索引是否大于總頁數,假如,當我們位于第3頁,并刷新了頁面,該頁面會立即為頁面重新加載數據列表,造成 total-items 變為0,totalPages就會被計算為1。然后就觸發了上面提到的代碼的監聽器。外面加ng-if就是避免了pagination過早的做了錯誤的計算。

也可以把數據加載放到ui-router的resolve中。

參考:

ui-bootstrap pagination resetting current page on initializationPagination always starts on 1 even if a different starting point is passed
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 晋州市| 河北区| 义马市| 克山县| 电白县| 河东区| 大厂| 道真| 民勤县| 南投县| 高青县| 白玉县| 繁峙县| 香格里拉县| 绍兴县| 临湘市| 湘西| 元江| 湘乡市| 尚义县| 城市| 铜梁县| 海伦市| 贵州省| 嘉义县| 体育| 崇明县| 沙坪坝区| 孝义市| 临清市| 高邮市| 芜湖市| 突泉县| 峨边| 枣阳市| 通榆县| 宾阳县| 舟曲县| 锡林浩特市| 玉龙| 聂拉木县|