我想在某些情况下,在页面加载时或之前重定向。例如,Cookies必须有一些东西,然后进行重定向。
AppComponent.NgOnInit中的 this.router.navigate(["details"]);
无效!
路由器:
const APP_ROUTES : Route[] = [
{ path: '', component: FormComponent, children: FORM_ROUTES},
{ path: 'details', component: DetailsComponent}
];
模块导入和引导:
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forRoot(APP_ROUTES),
RouterModule.forChild(FORM_ROUTES)
],
bootstrap: [AppComponent]
Angular 2.
答案 0 :(得分:1)
CanActivate决定了我的问题
在路由器
中{ path: '', component: FormComponent, children: FORM_ROUTES},
{ path: 'details', component: DetailsComponent, canActivate [NoAuthRedirectService]}
在 NoAuthRedirectService
中canActivate() : boolean
{
if(!this.auth.OnAuth())
{
this.router.navigate(["/"]);
return false;
}
return true;
}