为什么Angular router.navigate()无法导航?

问题描述 投票:1回答:1

我正在建立角度认证。登录后,应将用户重定向。我的问题是router.navigate()函数似乎不起作用...这是无效的代码:

async login() {
 if(!this.email || !this.password) {
   return;
 }
 this.showSpinner = true;
 this.authService.login(this.email, this.password).then(
   (data) => {
     this.router.navigate(['/chore/show']);
     console.log(this.router);
   },
   (error) => {
     this.error = error.message;
     this.showSpinner = false;
   }
 );
}

console.log确实会显示登录成功的时间,但不会导航到琐事/显示路线。

应用路线:

const routes: Routes = [
 { path: '', redirectTo: 'auth', pathMatch: 'full' },
 { path: 'auth', loadChildren: './modules/auth/auth.module#AuthModule' },
 { path: 'chore', loadChildren: 
 './modules/chore/chore.module#ChoreModule', canActivate: [AuthGuard] }
];

身份验证模块路由:

const routes: Routes = [
 { path: 'login', component: LoginComponent },
 { path: 'register', component: RegisterComponent},
 { path: '', redirectTo: 'login', pathMatch: "full"}
];

和杂项模块路由:

const routes: Routes = [
 { path: 'show', component: ShowChoreComponent},
 { path: '', redirectTo: 'show', pathMatch: 'full' },
];

出于某些原因,登录后我无法重定向。有什么建议么?编辑:添加了应用程序路由。代码在https://github.com/tomgelmers/stack

我正在建立角度认证。登录后,应将用户重定向。我的问题是router.navigate()函数似乎无法正常工作...这是无效的代码:...

javascript angular typescript routing
1个回答
0
投票

当我们有多个值之间用“ /”分隔时,则这不是传递导航方法的正确方法。

© www.soinside.com 2019 - 2024. All rights reserved.