我想将$ scope传递给服务并将其存储在服务中,以便其他控制器可以使用它。
对于我的应用程序用户输入用户名和通过ng模型我传递给控制器,但它是非常有限的特定控制器和其他控制器不能访问该范围。
我也看过$ rootScope,但它不是答案。
有没有一种方法可以将此用户名存储到服务中,并将它传递给服务中的API,因此我不必担心它。目前,我在做类似的事情到这个帖子
Pass scope to Service on AngularJS
这是我至今在我的服务
(function() {
var gitHubApiFactory = function($http) {
var urlBase = "https://api.github.com";
var factory = {};
factory.getUserName = function(userName) {
return $http.get(urlBase + "https://stackoverflow.com/users/" + userName);
};
factory.getUserRepo = function(userName) {
return $http.get(urlBase + "https://stackoverflow.com/users/" + userName + "/repos");
};
factory.getRepoLang = function(userName,repoName) {
return $http.get(urlBase + "/repos/" + userName + "/" +repoName);
};
return factory;
};
gitHubApiFactory.$inject = ['$http'];
angular.module('gitHubApp').factory('gitHubApiFactory',gitHubApiFactory);
}());
我不希望传递的参数(用户名)每次,而不是仅仅通过它在服务。
谢谢大家对angularjs的精彩支持。
嗨塔拉斯,是的,你是对的,我想在使用github进行身份验证之后存储userName,并且服务是a已经加载它将失去它作为singleton的目标。然后我如何存储userName后,它被认证,所以其他控制器可以看到它?谢谢 – GeekOnGadgets 2014-09-25 22:32:40