2016-10-17 5 views
0

У меня есть 2 модели: AppModule, PanelModule.Угловой 2: Перенаправить на правильный маршрут

В моем AppComponent я проверяю, зарегистрирован ли пользователь, и если он есть, я перенаправляю его на панель. Вот как я это делаю:

ngOnInit() { 
     //If he is alredy logged, redirect him to the panel 
     this.authService.login().subscribe(() => { 
      this.authService.loaded = true; 
     if (this.authService.isLoggedIn) { 
      console.log("Navigating to panel.."); 
     this.router.navigate(['/panel']); 
     } 
    }); 
    } 

Проблема начинается, когда мое местоположение является детским маршрутом. например:

/panel/users 

Если я пытаюсь получить доступ к URL напрямую, я вернуться обратно к /panel, так как пользователь вошел в систему и this.router.navigate(['/panel']); выполняется.

Каков правильный подход, поэтому мое приложение перенаправит пользователя на правильный путь?

ответ

0

Вы, вероятно, только хотят, чтобы подписаться на первый результат:

this.authService.login().first().subscribe(() => { 
Смежные вопросы