EnChikiben
@EnChikiben

Как организация приложения на AngularJS?

Добрый день!
Подскажите как правильно сделать следующее, в приложении есть пользователь он получается с сервера, как сделать так чтобы при вызове контроллера он в случае отсутствия этого пользователя (по каким либо причинам он не успел загрузиться с сервера) не давал выполнять контроллер и грузил сервис пользователя для получения данных а потом загружал дальше вызванный контроллер? Подскажите как правильно и где вызывать.
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 2
@kondaurov
Full stack developer
Если вы используете ui-router то пользователя можно прокидывать через resolve в состоянии.

{
name: "index",
controller(user) { console.log(user)}
resolve: {
user: function (usersService) { return usersService.getUser()}
}
}


Контроллер не будет вызван если в resolve будут отклоненные промайсы
Ответ написан
AMar4enko
@AMar4enko
Сила ui-router в иерархических состояниях. Перед активацией вложенного состояния app.level1.level2 будут обработаны resolve-секции и родительских состояний app и level1.
Делаете стейт верхнего уровня, прописываете в нем resolve для общих данных и все остальные стейты наследуете от него.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы