国产探花免费观看_亚洲丰满少妇自慰呻吟_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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泗水县| 合川市| 巴彦淖尔市| 珲春市| 大洼县| 甘泉县| 保德县| 苗栗市| 西平县| 巨野县| 颍上县| 南涧| 太仆寺旗| 福州市| 新绛县| 黄浦区| 望城县| 环江| 黄大仙区| 德化县| 皋兰县| 崇信县| 旺苍县| 巩义市| 榆中县| 柳河县| 资中县| 皮山县| 湘乡市| 渭源县| 托里县| 延边| 将乐县| 沾化县| 东兰县| 区。| 康乐县| 鹰潭市| 玛沁县| 咸宁市| 阳原县|