大佬教程收集整理的这篇文章主要介绍了Angular .controller()在.run()AngularJS之前运行,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
sampleApp.factory('SuperCategoryservice',['$http','$q','$rootScope',function ($http,$q,$rootScopE){ var SuperCategoryservice = {}; SuperCategoryservice.SuperCategories = $rootScope.SuperCategories; alert ($rootScope.SuperCategories); return SuperCategoryservice; }]); sampleApp.run(function($rootScope,$http) { var req = { method: 'POST',url: 'SuperCategoryData.txt',//url: 'http://localhost/cgi-bin/superCategory.pl',headers: { 'Content-Type': 'application/x-www-form-urlencoded' }//,//data: { action: 'GET' } }; $rootScope.SuperCategories = []; $rootScope.GetSuperCategories = function () { var defer = $q.defer(); $http(screq).then(function(responsE) { $rootScope.SuperCategories = response.data; //alert ($rootScope.SuperCategories); defer.resolve($rootScope.SuperCategories); },function(error) { defer.reject("Some error"); }); return defer.promise; } $rootScope.GetSuperCategories(); });
如何解决这个bug.
控制器调用工厂来获取数据,当Promise得到解决时,你会在$rootScope.SuperCategories中获得数据
sampleApp.factory('SuperCategoryservice',$q){ var req = { method: 'POST',//data: { action: 'GET' } }; var SuperCategoryservice = {}; SuperCategoryservice.SuperCategories = function () { var defer = $q.defer(); $http(screq).success(function(responsE) { defer.resolve(responsE); }); return defer.promise; } return SuperCategoryservice; }]); sampleApp.controller('myController',['$scope','SuperCategoryservice',function($scope,SuperCategoryservicE) { SuperCategoryservice.SuperCategories().then(function(data){ $rootScope.SuperCategories = data; }); });
以上是大佬教程为你收集整理的Angular .controller()在.run()AngularJS之前运行全部内容,希望文章能够帮你解决Angular .controller()在.run()AngularJS之前运行所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。