我想将此功能移至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();
}
}
});
答案 0 :(得分:1)
如果你最后调用News.all()
,你会得到一个带有异步属性的对象:{async}
,我不认为这是你想要的。您可以做的是将回调传递给服务:
.factory('News', function($http) {
return {
all: function(callback) {
return $http.get('test.json').then(callback);
}
}
});
在控制器中你必须这样做:
News.all(function(data){
$scope.news = data
});