Перенаправить приложение на внешний URL перед загрузкой приложения: Angular 6 - PullRequest
0 голосов
/ 28 февраля 2019

Таким образом, дело в том, что в компоненте приложения я проверяю, прошел ли пользователь аутентификацию, и, если нет, перенаправляет пользователя на вызов остальных API, который имеет страницу входа.В текущем коде есть вызов перенаправления API для структуры app.component.ts. Итак, что происходит, HTML-страницы app.component загружаются в течение 1 секунды, а затем происходит перенаправление.Как я могу перенаправить пользователя на остальные API-адреса до того, как любой html (элементы DOM) загрузится на экран

1 Ответ

0 голосов
/ 28 февраля 2019

Вы можете проверить, вошел ли пользователь в ваш маршрут с помощью canActivate

Например:

app.module.ts

const appRoutes: Routes = [{
    path: '',
    component: HomelayoutComponent,
    canActivate: [LoginGuardService]
}]

Ваш логин-guard.service.ts

canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
 // Implement here your auth check logic
  if (localStorage.getItem('jwtToken')) {
    return true;
  }

  // not logged in so redirect to login page with the return url and return false
  this.router.navigate(['login'], {
    queryParams: {
      returnUrl: state.url
    }
  });
  return false;
}
...