我目前正在开发一个涉及从服务器获取数据的项目。数据通过自定义服务传递给主控制器,该服务使用从服务器获取数据的自定义指令。您可以在下面找到代码:
/* Service requestObjects */
app.factory('requestObjects', ['customDirective', function(customDirective){
return {
getObjects: function (){
return customDirective.call('address', {
// parameters for the call
pageIndex: 1,
pageSize: 20
}).then(function (list) {
return list;
})
}
}
}])
/* Controller */
app.controller ('MainController', ['$scope', 'requestObjects', function($scope, requestObjects){
requestObjects.getObjects().then(function (data){
$scope.objectList = data;
$scope.$apply();
})
$scope.addPage = function(){
$scope.objectList.currentPageIndex += 1;
}
}])
HTML:
<button ng-click="addPage()">Load more objects</button>
HTML文件有一个按钮,当单击时将currentPageIndex增加1,但页面上没有加载其他对象。 反正有没有告诉服务我希望下一页有下20个对象,并在页面上点击按钮时加载它们?
答案 0 :(得分:0)
为您的服务添加setter功能:
setObjects: function(...) { ... }
然后在控制器中调用requestObject.setObjects(...)
以传入您的数据。如何保存以及如何处理传入的数据将取决于您在服务中setObjects
的实施情况。