Tôi có mô-đun dịch vụ sau cho ứng dụng Góc.Angularjs - làm cách nào để đặt giá trị mô-đun trong dịch vụ?
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});
}
}]);
Sau khi người dùng đăng nhập, dịch vụ login
trả về một id phiên duy nhất và tôi muốn thiết lập giá trị của mô-đun uid
cho các dịch vụ khác gọi để tham khảo.
Tôi chắc chắn rằng mã trên sẽ không hoạt động vì tôi không thể sử dụng giá trị làm phụ thuộc trong giai đoạn cấu hình của mô-đun. Làm cách nào tôi có thể đặt giá trị uid
trong dịch vụ login
và truy cập dịch vụ đó trong các dịch vụ khác trong mô-đun hoặc nếu tôi không thể đặt giá trị có thể được đặt/nhận bởi các dịch vụ này?