Я определил несколько угловых заводов с ngResource аналогично:Как обновить URL-адреса углового ресурса с идентификатором от аутентифицированного пользователя?
.factory('factoryName', ['$resource', '$http', 'CONSTANTS', 'authService', factoryNameCtrl])
function factoryNameCtrl($resource, $http, CONSTANTS, authService) {
var actions = {
'get': {
method: 'GET',
isArray: false,
params: {
service: '@service',
action: '@action'
}
},
'post': {
method: 'POST',
isArray: false,
params: {
service: '@service',
action: '@action'
}
}
}
actions.get.params.userId = actions.post.params.userId = '@' + authService.currentUser.id;
var res = $resource(CONSTANTS.baseURL + '/:userId/integrations/:service/:action', {}, actions);
Если бы я войти и выйти из системы с другим пользователем, значение USERID внутри завода не обновляет.
Я не хочу передавать userId в каждый параметр со всего кода, но чтобы сделать его доступным, когда он изменится.
Раньше у меня был код ниже, и я заставлял перезагружать страницу, чтобы восстановить правильные URL-адреса в ресурсе.
if (authService.isAuthenticated()) {
var res = $resource(CONSTANTS.baseURL + '/' + authService.currentUser.id + '/integrations/:service/:action', {}, actions);
return res;
}
Что вы посоветуете?
теперь я вспомнил, что я прочитал это давно. Спасибо, спасли мне много времени! –