我想将此功能移至 services.js:
News.all().async().then(function(data) {
$scope.news = data['data']['NewsList'];
});
然后通过以下命令在controller.js中调用它:
$scope.news = News.all();
我尝试了很多方法,但都不起作用。
这是我的 services.js:
.factory('News', function($http) {
function returnNews() {
return {
async: function() {
return $http.get('test.json');
}
};
}
return {
all: function() {
return returnNews();
}
}
});
最佳答案
如果你最后调用 News.all()
你会得到一个带有异步属性的对象:{async}
我不认为这是你想要什么。您可以做的是将回调传递给服务:
.factory('News', function($http) {
return {
all: function(callback) {
return $http.get('test.json').then(callback);
}
}
});
在 Controller 中你必须执行以下操作:
News.all(function(data){
$scope.news = data
});
关于javascript - 如何修改 Angular 服务中的响应(获取)函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40248962/