我正在玩Angular 2,我在使用路由器方面遇到了一些麻烦。 我想在主路由器插座内安装第二个路由器插座。
在第一个路由器插座内,我重定向到主页,我有第二个路由器插座:
<router-outlet name="main"></router-outlet>
这是我没有导入的app.routing。
const appRoutes: Routes = [
{ path: '', component: HomeComponent },
{ path: 'login', component: LoginComponent},
{ path: 'days', component: DaysComponent, outlet: 'main'}
];
export const appRoutingProviders: any[] = [
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
在HomeComponent ngOnInit上我有这个
this.router.navigateByUrl('/(main:days)');
但是这会导致网络崩溃并出现以下错误:
未捕获(承诺):错误:无法找到要加载的插座主页&#39; DaysComponent&#39;
怎么可能在主要的第二个路由器插座内?
谢谢。
答案 0 :(得分:9)
尝试使用此路线配置:
const appRoutes: Routes = [
{ path: '', component: HomeComponent },
{ path: 'login', component: LoginComponent},
{
path: 'wrap',
component: HomeComponent,
children: [
{
path: 'days',
component: DaysComponent,
outlet: 'main'
}
]
}
];
和此网址:
this.router.navigate(['/wrap', { outlets: { main: 'days' } }]);
或(等效)
this.router.navigateByUrl('/wrap/(aux:aux)');