Миграция на 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
работает, но мне интересно, правильный ли подход.
==> как правильно поступить в данной ситуации? Или я что-то пропустил?