angularJs 中 uib-pagination 的总页数问题

Problems with total number of pages in uib-pagination in angularJs

有一个关于类似主题的旧线程 没有回答我的问题,我不知道如何添加。

我们有一个复杂的 smList 指令,在页面底部有以下 html

<div class="text-center" ng-show="vm.table.pageCount > 1">
  <ul uib-pagination 
      total-items="vm.table.totalCount"
      ng-model="vm.table.pageNumber"
      items-per-page="vm.table.pageSize"
      max-size="5"
      rotate="false"
      ng-change="vm.selectPage()"
      previous-text="@Labels.previous"
      next-text="@Labels.next"></ul>
</div>

在某些情况下,总页数无法正确更新。比如说,我 运行 使用过滤器进行搜索并得到 4 页,当删除过滤器时,我应该得到更多页面(超过 5 页)。我仍然看到相同的 4 页,即使当我跟踪代码时我在控制器中看到正确的数字 table.totalCount。

我们应该怎么做才能解决这个问题?我们是否应该在 运行 搜索之前始终将 totalCount 设置为 0?

在服务器 returns 产生的搜索代码中,我们有以下内容:

.then(function (data) {
                log.debug("After main search return...");

                self.results = data.list;
                self.table.totalCount = data.totalCount;
                self.table.pageCount = data.pageCount;
                self.table.pageSize = data.pageSize;
                self.table.pageNumber = data.pageNumber;                

                self.showResults = true;

也许我们可以不设置总项目数而只使用从服务器返回的页数(因为我们也在那里进行数学计算)?有没有办法为 uib-pagination 设置 pagecount 而不是 total-items ?

更新。似乎问题出在我们的指令 RowClick 代码中。一旦我注释掉一行代码,问题似乎就解决了。

所以,这不是一个答案,但我认为只有当我打开我的编辑表单时,这个错误才会出现。

索引页如下所示:

<div ng-controller="DynamicRulesController">
    <div ng-controller="dynamicRulesSearchController">
        <data-sm:list data-name="dynamicRules"
                      data-table="table"
                      data-hide-hidden-filter="true"
                      data-show-search="true"
                      data-can-hide-search="false"
                      data-on-before-new-record="onBeforeNewRecord"  
                      data-dont-go-to-new-state="true"                   
                      data-pk="ruleId"
                      data-param-id="id"
                      data-heading="heading">
        </data-sm:list>     
    </div>

    <div class="edit-container ng-cloak" ng-show="!isEditLoading" ui-view autoscroll="false"></div>
</div>

只要我停留在索引页上并且不打开编辑表单(ui-视图),分页就可以正常工作。一旦我打开我的编辑表单,它就会停止工作。与状态和 ui-view 相关的东西似乎会干扰。