我正在建立角度认证。登录后,应将用户重定向。我的问题是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()函数似乎无法正常工作...这是无效的代码:...
当我们有多个值之间用“ /”分隔时,则这不是传递导航方法的正确方法。