(см. ниже). Можно ли как-то выделить в группу те, у которых есть AuthGuard? Просто условно говоря планируется много таких компонентов и в каждом прописывать его не самая удачная идея. Да, можно конечно написать еще один контейнер и разделить по нему, но не хочется добавлять в сам путь дополнительных уровней типа '/entry/login' и 'entry/signup'
const routes: Routes = [
{
path: '',
component: MainLayoutComponent,
children: [
{ path: '', component: HomeComponent, canActivate: [AuthGuard] },
{ path: 'store', component: StoreComponent, canActivate: [AuthGuard] },
{ path: 'settings', component: SettingsComponent, canActivate: [AuthGuard] },
{ path: 'login', component: LoginComponent },
{ path: 'signup', component: SignupComponent },
{ path: '**', redirectTo: '', pathMatch: 'full' }
],
}
];
приходит на ум только использовать кастомный Route#matcher
хм, допустим, навесить AuthGuard на весь MainLayoutComponent, и в AuthGuard просто игнорировать рауты, которые login и signup?
сделать контейнер, у которого вместо path будет matcher который сработает если в адресе содержатся пути потомков
Обсуждают сегодня