我有这个功能:
$scope.bigCurrentPage = 1;
$scope.maxSize = 5;
$scope.bigTotalItems = 175;
$scope.currentPage = 1;
$scope.numPages=function() {
$scope.totalPages=$scope.all.length;
};
我想在temp.view.html中打印$ scope.totalPages,我尝试这样做
<ul uib-pagination total-items="bigTotalItems" ng-model="bigCurrentPage"
max-size="maxSize" class="pagination-sm">
</ul>
<pre>Page: {{bigCurrentPage}} / {{totalPages}}</pre>
但我得到输出:
Page: 1/
,`{{totalPages}}无法打印出来。为什么?
答案 0 :(得分:1)
在使用值之前调用该函数一次。
$scope.numPages=function() {
$scope.totalPages=$scope.all.length;
};
$scope.numPages();
现在
<pre>Page: {{bigCurrentPage}} / {{totalPages}}</pre>
这将有效。
但是,在这种方法中,您需要致电$scope.numPages();
每次更改$scope.all.length
的值时,都会更新totalPages
的值。
或强>
修改功能,在这里您不必担心$scope.all.length
值的变化,totalPages
会在视图中自动更新。
$scope.numPages=function() {
return $scope.all.length;
};
直接使用numPages()
<pre>Page: {{bigCurrentPage}} / {{ numPages() }}</pre>
答案 1 :(得分:0)
您可能需要实际执行该功能。到目前为止,你所做的一切都是宣告你的功能,但并没有真正称之为它。因此,$ scope.totalPages在此之前并不存在。
所以它就像这样:
$scope.bigCurrentPage = 1;
$scope.maxSize = 5;
$scope.bigTotalItems = 175;
$scope.currentPage = 1;
$scope.numPages=function(){
$scope.totalPages=$scope.all.length;
};
$scope.numPages();
尽管如此,这只会假设您将数组声明为$scope.all
答案 2 :(得分:0)
在视图中使用{{all.length || 0}}
....不确定为什么需要此功能