你如何对待其他孩子。
我对angular很陌生,正在尝试建立一个合适的路线导航系统到目前为止,我有以下路线:
{path: 'welcome',
component: WelcomeComponent,
children: [
{path: 'login',
component: LoginComponent,
outlet: 'welcomeR'},
{path: 'register',
component: RegistrationComponent,
outlet: 'welcomeR'},
{path: '',
component: StartComponent
}
]},
{ path: 'user',
component: UserComponent,
canActivate: [RoutProtectionService],
children: [
{path: '',
pathMatch: 'full',
redirectTo: 'profile'},
{path: 'profile',
component: ProfileComponent,
outlet: 'userR'
},
{ path: 'browseTutors',
component: TutorsBrowseComponent,
outlet: 'userR'
}]
},
{path: '**',
redirectTo: '/welcome'}
正如你从结构中看到的,我的应用程序组件中有一个<router outlet>
,userR/welcomeR在其中作为子文件夹路由。
成功登录后,我想重定向到用户/配置文件组件,但我不知道如何做到。。。如果我使用这样的东西:
this.router.navigate([{outlets: { userR: ['profile']}}] );
它比不上任何溃败。如果我正在导航到['/user']
,则不会显示配置文件。我也尝试过类似问题上列出的其他方法,但它们似乎不起作用。例如:
this.router.navigate(['/user','profile'];
我已尝试删除outlet:'userR',然后用'/user/profile'访问它,但使用这种方法,不会显示配置文件的内容。
作为替代方案,我还尝试在用户组件的"路径上设置重定向到"profile",但也不起作用。。。
只需确保以下组件中有<router-outlet></router-outlet>
:AppComponent
、WelcomeCompoonent
和UserComponent
模板。然后不要在路线定义或导航中使用命名出口。
我总是使用包含<router-outlet></router-outlet>
的baseRouterComponent它是父路由对象。
要重定向,可以使用router.navigateByUrl("/user")
工作示例