@ne-programmist

Почему guard в angular на долю секунды показывает страницу авторизации?

Такой вопрос, есть группа роутов, которые находятся под 'auth.guard.ts', так вот там прописан такой код:

async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
    const user = this.authStorageService.getUserFromToken();

    if (user) {
      // если все хорошо, пропускаем
      return true;
    } else {
      // если пользователь не авторизован
      await this.router.navigate(['/login']);
      return false;
    }
  }

и вот если я будучи авторизованным, нахожусь на роуте под этим guard, то при обновлении страницы я на долю секунды вижу страницу логина (если ее изменить на любую другую страницу, то будет отображаться указанная страница также на долю секунды). Ниже пример в записи как это выглядит (перед лоадером):

6613d3ffd7d88565762077.gif

все что в гугле удалось найти, это совет сделать так:
return this.router.createUrlTree(['/login'])

и это не помогло. может кто сталкивался, как пофиксить?
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы