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

时间:2015-10-21 03:00:44

标签: angularjs twitter-bootstrap angular-ui-bootstrap

当没有任何东西要显示时,我试图隐藏分页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解决了这个问题。 有办法解决吗?

1 个答案:

答案 0 :(得分:3)

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"