Миграция на Angular 14: маршруты по умолчанию и бесконечные циклы

У меня следующая конфигурация:

В app.routes.ts

      export const routes: Routes = [
  {
    path: '', pathMatch: 'full', redirectTo: environment?.firstTab ? environment.firstTab : 'releases',
    data: {isInMenuBar: false}
  },
  {
    path: 'login', component: LoginComponent,
    data: {isInMenuBar: false, allowed: false}
  },
....
}

и дляCanActivate:

      @Injectable()
export class CanActivateMyApp implements CanActivate {

  constructor(private router: Router) { }

  canActivate(
    route: ActivatedRouteSnapshot,
  ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {

    if (this.userInfo) {
      /* 
      * check further access
      */
    }
    
    return this.router.parseUrl('/');
  }

До сих пор (= Angular 13) этот подход работал. Если у меня нет доступа ==> вернуться к пути верхнего уровня (=/) и продолжить работу. В Angular 14 это вызывает бесконечный цикл.

Переход наreturn trueилиfalseработает, но мне интересно, правильный ли подход.

==> как правильно поступить в данной ситуации? Или я что-то пропустил?

0 ответов

Другие вопросы по тегам