创建了将返回json数据并从控制器调用它的工厂,但是它为空。不知道我在哪里犯错了。没有控制台错误,并且在网络json中也正在加载。
'use strict';
var app = angular.module('angularJson', ['ngResource']);
app.factory('loadJsonService', ['$resource', function ($resource) {
return {
getData: function () {
return $resource('json/productDetails.json');
}
};
}])
app.controller('angularJsonCtrl',['$scope', 'loadJsonService',function($scope, loadJsonService){
$scope.loadProducts = function(noOfData){
$scope.productDetails = [];
$scope.productDetails = loadJsonService.getData().query();
}
}]);
您必须在之前请求被完成及以后那里你需要使用把等待.$promise.then
在$resource.query
函数调用。这样您就可以放置将在API调用成功时得到调用的函数。
loadJsonService.getData().query().$promise.then(function(res){ //success function
$scope.productDetails = res;
}, function(error){ //error function
console.log(error);
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句