当我在Nativescript中使用canActivate时,路由不起作用

时间:2018-12-24 14:07:20

标签: angular typescript routing nativescript canactivate

我在Nativescript中有一个项目。我的项目中的问题是CanActivate。使用AuthGuard时,我的canActivate不会在其他页面中导航。

我有这个routing.ts:

const routes: Routes = [
  {
    path: 'home',
    component: HomeComponent,
    canActivate: [AuthGuard],
    children: [
      {
        path: 'fp', component: FirstPageComponent
      }
    ]
  },
  {
    path: 'outsidelogin',
    component: outsideloginComponent,
    children: [
      { path: 'login', component: LoginFirstComponent },
      { path: 'register', component: RegisterComponent },
    ]
  },
  {
    path: 'test',
    component: outsideloginComponent,
    canActivate: [AuthResetGuard],
    children: [
       { path: 'resetPasswordRequest/:id', component: ResetPassIdComponent }
    ]
  },

    { path: '', redirectTo: '/home/fp', pathMatch: 'full' }
];

在AuthResetGuard.ts中,我有以下代码:

canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
    let productId = route.params.id;
    if (this.auth.isAuthenticated()) {
        return true;
    }
    this.router.navigate(['/test/resetPasswordRequest/' + productId]);
    console.log('/test/resetPasswordRequest/' + productId)
    return true;

}

在我拥有的ResetPassIdComponent .ts中

  ngOnInit(): any {
    let myid = this.route.snapshot.paramMap.get("id")
    this.id = myid;
  }

错误:当我单击http://xxxxxx.com/v1/resetPasswordRequest/11111时,我的应用程序无法打开,仅显示splash_screen,而在控制台中仅显示所有时间

JS: /test/resetPasswordRequest/11111
JS: /test/resetPasswordRequest/11111
JS: /test/resetPasswordRequest/11111
JS: /test/resetPasswordRequest/11111
JS: /test/resetPasswordRequest/11111

请问有什么想法,如何解决我的问题?

0 个答案:

没有答案