为了账号安全,请及时绑定邮箱和手机立即绑定

路线导航在角度 9 中不起作用

路线导航在角度 9 中不起作用

慕慕森 2022-11-27 17:16:05
我正在我的角度应用程序中处理登录和主页组件。登录服务正在验证用户的用户名和密码。成功登录后,它应该将用户重定向到主页。但是路由器重定向无法正常工作。登录组件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 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

尝试这个。

 this.router.navigateByUrl('/home');


查看完整回答
反对 回复 2022-11-27
?
撒科打诨

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],

})


查看完整回答
反对 回复 2022-11-27
  • 2 回答
  • 0 关注
  • 162 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号