【发布时间】:2014-06-18 14:26:49
【问题描述】:
我正在使用 Angular Bootstrap UI 的分页指令的一个相当简单的实现,但我不断收到一个我无法弄清楚的错误。这是相关的sn-ps:
<ul>
<li ng-repeat="todo in filteredIdeas">
{{todo}}
</li>
</ul>
<pagination ng-model="currentPage" total-items="totalIdeas"></pagination>
以下是控制器中我的 $scope 的相关部分:
// Set watch on pagination numbers
$scope.$watch('currentPage + numPerPage', function() {
var begin = (($scope.currentPage - 1) * $scope.numPerPage);
var end = begin + $scope.numPerPage;
$scope.filteredIdeas = $scope.ideasData.slice(begin, end);
});
// Data
$scope.ideasData = [];
for (var i = 0; i < 100; i++) {
$scope.ideasData.push('To do ' + i);
}
$scope.filteredIdeas = [];
$scope.currentPage = 1;
$scope.numPerPage = 10;
$scope.totalIdeas = $scope.ideasData.length;
分页设置正确,但这是我在尝试单击下一页(或任何页面)时收到的错误:
Error: [$compile:nonassign] Expression 'undefined' used with directive 'pagination' is non-assignable!
如果我理解正确,这是否表明我在双向绑定中使用了不正确的东西?能够复制此 Plunkr 中的错误:http://plnkr.co/edit/uyWQXPqjLiE4qmQLHkFy
有人对我做错了什么有任何想法吗?
【问题讨论】:
-
这是你的 plunkr 分叉:plnkr.co/edit/BNgdbXD5YVwPKGhuIYcN?p=preview
-
我喜欢你的 $watch,但 imo 这个更好:plnkr.co/edit/79yrgwiwvan3bAG5SnKx?p=preview
标签: angularjs angular-ui-bootstrap