Угловой ui.router перезагрузить родительский templateProvider
У меня есть абстрактный базовый шаблон, который загружает навигацию в зависимости от типа пользователя. Эта часть работает при начальной загрузке. Проблема в том, что я не могу перезагрузить родительский templateProvider, когда пользователь вошел в систему или вышел из нее впоследствии. Я попробовал решенияВот перезагрузить родительский шаблон, но шаблоны навигации не затрагиваются. Есть ли способ перезагрузить templateProvider или лучший способ сделать это? В идеале мне не нужно добавлять провайдера nav для каждого дочернего маршрута.
Маршруты:
$stateProvider
.state('base', {
abstract: true,
views: {
content: {
template: '<ui-view></ui-view>',
},
nav: {
templateProvider: function ($templateFactory, User, $stateParams){
if(User.exists()){
var url = '/static/html/navs/' + User.get.type + '.html';
return $templateFactory.fromUrl(url);
}
else{
return false;
}
}
}
}
})
.state('base.index', {
url: '/',
controller: 'loginController',
templateUrl: 'static/html/landing/login.html'
})
Функция контроллера с попытками отвопрос GitHub:
scope.login_submit = function(e){
e.preventDefault();
User.login(scope.login, function(res){
$state.transitionTo(
'base.dashboard', null,
{reload: true, inherit: true, notify: true }
);
});
};