AngularJS工厂http返回空
发布时间:2020-12-17 08:23:46 所属栏目:安全 来源:网络整理
导读:我第一次尝试AngularJS。我从使用工厂的http-get请求获取JSON数据,但在完成ajax请求之前,该对象将返回为空。 厂: myDemo.factory('photosFactory',function($http) { var photos = []; var factory = {}; factory.getPhotos = function() { $http({ url:
我第一次尝试AngularJS。我从使用工厂的http-get请求获取JSON数据,但在完成ajax请求之前,该对象将返回为空。
厂: myDemo.factory('photosFactory',function($http) { var photos = []; var factory = {}; factory.getPhotos = function() { $http({ url: 'content/test_data.json',method: 'GET' }).success(function(data,status,headers,config) { photos = data; return photos; }); }; return factory; }); 控制器: controllers.AppCtrl = function($scope,$location,$http,photosFactory) { $scope.photos = []; init(); function init() { $scope.photos = photosFactory.getPhotos(); } }; 这是我想出来的。当控制器设置$ scope.photos时,该值为空,就像它在使用ajax响应填充之前返回照片数组一样。
您应该修改代码以返回承诺,并使用控制器中的值查看虚拟修改代码
myDemo.factory('photosFactory',function($http) { return{ getPhotos : function() { return $http({ url: 'content/test_data.json',method: 'GET' }) } } }); 和控制器 – controllers.AppCtrl = function($scope,photosFactory) { $scope.photos = []; photosFactory.getPhotos().success(function(data){ $scope.photos=data; }); }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |