コントローラ:
function ProductListCtrl($scope, Product) {
$scope.page = 1;
$scope.setPage = function(page) {
$scope.page = page;
}
Product.query({page:$scope.page}, function(response) {
$scope.products = response.records;
$scope.product_count = response.metadata.count;
$scope.page_count = response.metadata.page_count;
});
}
意見:
<div class="container-fluid">
<div class="row-fluid">
<div class="span2">
<!--Sidebar content-->
Search: <input ng-model="query">
</div>
<div class="span10">
<!--Body content-->
Number of products: {{product_count}}.<br>
Page {{page}} of {{page_count}}.
<ul class="products">
<li ng-repeat="product in products | filter:query | orderBy:orderProp" class="thumbnail">
<a href="#/products/{{product.id}}" class="thumb"><img ng-src="{{product.imageUrl}}"></a>
<a href="#/products/{{product.id}}">{{product.name}}</a>
<span ng-repeat="category in product.categories">{{category.name}}</span>
</li>
</ul>
<a href="#" ng-class="{disabled: page < 2}" ng-click="setPage(page-1)">Previous page</a>
<a href="#" ng-class="{disabled: page == page_count}" ng-click="setPage(page+1)">Next page</a>
</div>
</div>
</div>
「次のページ」リンクをクリックすると、setPage
関数は正しいページ番号 (次のページ) で呼び出されますが、ページ変数はビューで更新されません。リストはバックエンドから再読み込みされますが、元のページ番号が付けられています。
私は何を間違っていますか?