我正在我的角度应用程序中处理登录和主页组件。登录服务正在验证用户的用户名和密码。成功登录后,它应该将用户重定向到主页。但是路由器重定向无法正常工作。登录组件import { Router } from '@angular/router';import { Component, OnInit } from '@angular/core';import { FormControl, FormGroup, Validators } from '@angular/forms';import { User } from 'src/app/shared/models/user';import { AuthService } from '../services/auth.service';@Component({ selector: 'app-login', templateUrl: './login.component.html'})export class LoginComponent implements OnInit { userName: FormControl; password: FormControl; loginFormGroup: FormGroup; loginError: boolean; errorMessage: string; messageString: string; constructor(private router: Router, private authService: AuthService) { } ngOnInit() { this.userName = new FormControl("", [Validators.required]); this.password = new FormControl("", [Validators.required]); this.loginFormGroup = new FormGroup({ userName: this.userName, password: this.password }); } login() { this.loginError = false; if (this.loginFormGroup.valid) { let user: User = new User(); user.userId = this.userName.value; user.password = this.password.value; this.authService.login(user) .subscribe(res => { console.log(res) this.router.navigate(["home"]) console.log("res") }, error => { console.log(error) }); } }}和登录服务import { Injectable } from "@angular/core";import { Router } from "@angular/router";import { Observable } from "rxjs";import { share } from "rxjs/operators";import { environment} from 'src/environments/environment';import { HttpClient, HttpParams, HttpHeaders} from "@angular/common/http";import { User } from 'src/app/shared/models/user';@Injectable({ providedIn: "root" })export class AuthService { user: User; resp=401; get userDetail(): User { return this.user; } constructor( private router: Router, private http: HttpClient ) { }
2 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
用以下代码替换您的代码,这应该可以工作。
this.loginError = false;
if (this.loginFormGroup.valid) {
let user: User = new User();
user.userId = this.userName.value;
user.password = this.password.value;
this.authService.login(user)
.subscribe(res =>
{
console.log(res)
this.router.navigate(["/home"])
console.log("res")
},
error =>
{
console.log(error)
});
}
}
编辑:
请用以下代码替换您的 ngModule:
@NgModule({
imports: [
RouterModule.forRoot(routes, {
useHash: true,
}),
],
exports: [RouterModule],
})
添加回答
举报
0/150
提交
取消
