Я хочу передать $ 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.
Hi Тарасом, да ты прав , я хочу сохранить имя пользователя после его аутентификации с помощью github, а поскольку услуги - это я уже загрузил это потеряет свою цель быть singleton.then как я могу сохранить userName после того, как он аутентифицирован, чтобы все остальные контроллеры могли его увидеть? Спасибо – GeekOnGadgets