2016-05-06 7 views
1

У меня небольшая проблема с компонентным маршрутизатором для углового 1. Когда я пытаюсь перенаправить/перейти к другому компоненту из $ routerOnActivate lifecyle hook, я попадаю в бесконечный цикл перенаправления от текущего компонента к желаемому компоненту. В лучшем случае сценарий не бесконечен, но он будет перенаправлять между этими двумя путями несколько раз. То, что я пытаюсь сделать, это то, что если что-то пойдет не так, enter code here Я хочу пойти на свою домашнюю страницу. Поэтому в основном я пытаюсь сделать что-то вроде:Угловой 1 компонентный маршрутизатор перенаправляется из OnActivate lifecyle hook

this.$routerOnActivate =() => { 
     this.$router.navigate(["abcd"] 
} 

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

Помогите мне с идеей?

ответ

0

$ timeout - единственный способ, которым я нашел это сделать до сих пор.

this.$routerOnActivate =() => { 
    $timeout(this.$router.navigate.bind(this.$router, ["abcd"])) 
    return $q.reject() // stops the current route 
} 
Смежные вопросы