Mam następujący moduł usług dla aplikacji Angular.Angularjs - jak ustawić wartości modułów w usłudze?
angular.module('rs.services', [])
.value('uid', null)
.factory('login', ['$http', 'uid', function($http, uid) {
return function(user, pass) {
var p = $http.post('/login', {"user": user, "pass": pass})
.success(function(data, status, headers, config) {
// set uid
})
.error(function(data, status, headers, config) {
// do something
});
return p;
}
}]);
// a service that uses uid to authenticate the request
.factory('userPrefs' ['$http', 'uid', function($http, uid) {
return function() {
return $http.post('/user/prefs', {"uid": uid});
}
}]);
Gdy użytkownik loguje się, usługa login
zwraca unikalny identyfikator sesji i chcę ustaw modułu uid
wartość dla innych usług wymaga, aby odnieść się do.
Jestem prawie pewien, że powyższy kod nie zadziała, ponieważ nie mogę użyć wartości jako zależności w fazie konfiguracji modułu. Jak ustawić wartość uid
w usłudze login
i uzyskać do niej dostęp w innych usługach w module lub, jeśli nie jest to możliwe, jak utworzyć wartość, którą można ustawić/uzyskać za te usługi?