Бесконечный цикл на $ stateChangeStart пользовательского маршрутизатора
Набирает оборотыугловая, а такжеUI-маршрутизатор
И бороться с перенаправлением в другое состояние, если не выполнено предварительное условие:
Я попытался с помощью перехватчика :(Как мне выполнить перенаправление в угловой перехватчик).
Но кто-то упомянул, что обработка $ stateChangeState была бы более уместной. Но я все еще сталкиваюсь с бесконечным циклом:
/**
* Check here for preconditions of state transitions
*/
$rootScope.$on('$stateChangeStart', function(event, toState) {
// which states in accounts to be selected
var accountRequiredStates = ['user.list', 'user.new'];
if(_.contains(accountRequiredStates, toState.name)){
event.preventDefault();
ApiAccount.customGET('get_current').then(function(resp){
// if I have a selected account, go about your business
if(resp.hasOwnProperty('id')){
$state.go(toState.name);
} else { // prompt user to select account
$state.go('user.select_account');
}
})
}
});
Может кто-нибудь предложить лучший шаблон (тот, который работает)
Спасибо!
Примечание: подобная проблема отличается подходом здесь:Как мне выполнить перенаправление в угловой перехватчик