如何从NgOnInit重定向?

时间:2016-11-30 11:52:37

标签: angular angular-ui-router

我想在某些情况下,在页面加载时或之前重定向。例如,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.

1 个答案:

答案 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;
  }