Я использую следующий код для разрешения ресурса при загрузке основного состояния. Можно ли повторно разрешить ресурс без перезагрузки страницы? Я избегаю перезагрузки, так что пользовательский интерфейс не затрагивается.
$stateProvider
.state('main', {
url: '/',
templateUrl: 'publicApp/main.html',
controller: 'MainCtrl as mainCtrl',
resolve: {
userData: ["UserApi", function (UserApi) {
return UserApi.getUserData().$promise;
}]
}
})
.controller('MainCtrl', function (userData) {
console.log(userData.something);
})
Так как это общедоступный сайт, пользователь может посещать любую страницу без входа в систему, но когда пользователь регистрируется на странице, она должна настраиваться на основе пользовательских данных.
ИЗМЕНИТЬ
Я использую модальный для входа, поэтому состояние не перезагружается после входа в систему, я думал о том, чтобы отправить событие на $rootScope
, а затем добавить слушателей в контроллеры, чтобы загрузить их снова. Но это не выглядит хорошо, поэтому я ищу лучший способ.
В настоящее время у меня есть два варианта:
- Обновить страницу - это повлияет на пользовательский интерфейс, поэтому его последняя опция
- Бросьте событие для модальности входа и поймайте его в других контроллерах.
Любые лучшие идеи?