2016-03-31 4 views
2

Я не нашел ответ в интернете, так что я пришел сюда, чтобы попросить о помощи:угловой маршрутизация: разрешить против контроллера

Что является лучшей практикой для использования при изменении состояния в AngularJS?

Первое, что я нашел, это использование ui.router с методом разрешения. Затем вы можете вводить данные в контроллер.

С другой стороны, следуя инструкциям johnpapa, я обнаружил, что вы также можете использовать метод activate().

Итак, что это лучший способ, чтобы получить данные (скажем, список пользователей) при переходе от состояния /users: использовать метод activate() собрать список пользователей, или использовать resolve в маршрутизации впрыснуть список пользователей?

ответ

2

Хотя этот вопрос, похоже, основан на мнениях, я бы рекомендовал использовать разрешение для состояния, когда запрашиваемые данные абсолютно необходимы для отображения состояния. Если данные не загружаются, обработчик ошибок автоматически перейдет в состояние ошибки.

Если вы получаете данные в своем контроллере, вам необходимо выполнить обработку/перенаправление ошибок и привести к появлению мигающих экранов/странного поведения, потому что запрос сначала должен завершиться/сбой, пока шаблон уже загружен.

+0

Я действительно ищу такие ответы, так что спасибо! – trichetriche

Смежные вопросы