ui bootstrap 分页在 if 标签内不起作用

ui bootstrap pagination not working inside a ng-if tag

我尝试在没有内容可显示时隐藏分页 div。所以我这样写:

<div ng-if="totalItems!=0">
     <pagination
          boundary-links="true"
          total-items="totalItems"
          ng-model="currentPage"
          ng-change="pageChanged()"
          class="pagination"                                 
          items-per-page="itemsPerPage"
          max-size="7">
     </pagination>
</div>

但是点击时,只会触发pageChanged()功能,currentPage不会改变。删除 ng-if div outsite 解决了这个问题。 有解决办法吗?

ng-if 创建了一个像 ng-repeat 这样的新作用域,因此 currentPage 在子作用域内并且在主作用域中不可访问。

您可以尝试通过几种方法解决它:

  1. 使用ng-show代替ng-if
  2. 尽早在主控制器中声明 $scope.currentPage = 1(不确定这是否有效)
  3. 改用ng-model="$parent.currentPage"
  4. 使用点符号:在控制器中声明 $scope.something 然后使用 ng-model="something.currentPage"