2015-10-21 33 views
2

我试图在没有任何内容显示时隐藏分页div。所以,我写这篇文章:ui bootstrap分页不能在ng-if标签内工作

<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解决了这个问题。 有没有办法解决?

回答

3

ng-if创建像ng-repeat一个新的范围,所以currentPage是孩子的范围内和主要范围无法访问。

有几个方法,你可以尝试解决它:

  1. 使用ng-show代替ng-if
  2. 申报​​在你的主控制器早(不知道这是否会工作)
  3. 使用ng-model="$parent.currentPage"改为
  4. 使用点符号:在控制器中声明$ scope.something然后使用ng-model="something.currentPage"
+0

#5最好的选择在我的脑海里(假设ng-if stay)。允许原语没有的继承 – charlietfl

+1

你的意思是#4,#1被重载插入,所以我已经删除它; p – Icycool

相关问题