Açısal uygulama için aşağıdaki hizmet modülüne sahibim. Angularjs - Bir hizmette modül değerlerini nasıl ayarlayabilirim?
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});
}
}]);
Kullanıcı sisteme giriş sonra
,login
hizmet benzersiz bir oturum kimliği döner ve diğer hizmetler için modülün
uid
değerini ayarlamak istediğiniz başvurmak için çağırır.
Yukarıdaki kodun çalışmadığından eminim çünkü modülün yapılandırma aşamasında bağımlılık olarak bir değer kullanamıyorum. uid
değerini login
hizmetinde nasıl ayarlayabilirim ve modül içindeki diğer hizmetlere erişebilir veya bu mümkün değilse, bu hizmetler tarafından ayarlanabilen/alınabilecek bir değeri nasıl yapabilirim?