Первым запросом после загрузки Ангуляра мы получаем айди пользователя (потом можем его поменять). Далее все остальные запросы и вычисления производятся на основании этого айдишника. Примерно так это выглядит (айди записан в $rootScope)
.controller('myCtrl', ['$rootScope', 'Comments', function ($rootScope, Comments) {
$rootScope.$watch('global.userId', function(newValue, oldValue) {
if (newValue !== oldValue) {
var comments = Comments.query({userId: newValue}, function (data) {
commentFn(data); //Логика обработки комментариев
});
}
});
}])
Проблема в том, что во все контроллеры придется добавлять $watch и всю логику вычислять в нем. Как избавиться от подобной вложенности?
Можно как-нибудь перезапустить все или некоторые контроллеры приложения при получении айди пользователя?