Я использую Angular ui-router и настроил функцию разрешения для одного из моих состояний до инициализации контроллера. Я извлекаю некоторые данные, прохожу цикл и сопоставляю их с URL-адресом stateParam, и, если совпадение найдено, разрешаю обещание контроллеру и возвращаю этот объект в обещании. Это все работает хорошо.
Однако, если совпадение не найдено, я просто хочу перенаправить в другое состояние, отклонив обещание и запустив $state.go('state');
Просто это:
deferred.reject();
$state.go('state',{params: 'param'});
Но это, кажется, ничего не делает. Контроллер просто зависает, и я не получаю никаких ошибок консоли или чего-то еще. Есть идеи?
Этот вопрос относится к версии 0.xx, в версии 1.xx многое изменилось
$digest
? - person rtcherry   schedule 19.02.2014