我有一个应用程序,我有一个登录组件和一个家庭模块 . 我想在家庭模块中有一个辅助路由 .
一旦用户登录,我就会重定向到主路由 .
这是我的app-routing.module
const routes: Routes = [
{
path: 'login',
component: LoginComponent
},
{
path: '',
redirectTo: 'home',
pathMatch: 'full'
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
下面是我的home-routing.module.ts
const routes: Routes = [
{
path: 'home',
children: [
{
path: '',
component: HomeComponent,
canActivate: [CanActivateGuard]
},
{
path: '',
outlet: 'aux',
component: DashboardComponent,
canActivate: [CanActivateGuard]
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class HomeRoutingModule { }
我的期望是当应用程序重定向到主路径 this.router.navigate(['/home']);
时,应该渲染两个HomeComponent(现在正在渲染)并且应该渲染DashboardComponent(不渲染)
我尝试了所有类型的黑客,例如提供组件的路径,需要在辅助路由中呈现到'dashboard',并从主组件的ngOnInit方法尝试重定向到仪表板路由 this.router.navigate([{ outlets: { aux: 'dashboard' }}]);
但注意似乎有效 . 我做错了什么?
1 回答
激活主路由和辅助(辅助)路由的语法如下所示:
但是,据我所知,路由中仍然存在错误,这种语法不起作用 . (至少在2个月前我尝试的时候不适合我 . )
我不得不使用这样的语法:
此语法基本上将两个路由视为命名路由,并使用Angular定义的主路由名称("primary") . 您 don't 必须更改您的路线配置才能使用此功能 .