当我在构造函数中声明另一个服务时,我的模态服务未打开

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

所以我得到了这个以角度登录的方法

email: string = "";
  password: string = "";
  login() {
    const credentials = {
      email: this.email,
      password: this.password
    };
    this.userService.login(credentials).subscribe(
      (response: any) => {
        sessionStorage.setItem('token', response.token);
        sessionStorage.setItem('email', response.email)
        this.router.navigate(['/dashboard']);
      },
      (error) => {
        console.error('Login failed:', error);
      }
    );
    this.modalService.dismissAll();
  }

我从我自己的 userService 方法中使用它

login(data: any): Observable<any> {
    return this.httpClient.post(this.url + "/login", data, {
      headers: new HttpHeaders().set('Content-Type', 'application/json')
    });
  }

但是每次我在主页构造函数中声明 userService 并实现逻辑时,我的模式都不起作用

constructor(private userService:UserService,private modalService:NgbModal,
              private router:Router) {
  }

我尝试将这些方法迁移到一个文件,看看这是否是问题所在,但它仍然不起作用。我希望该模式能够工作,但它无法打开

angular typescript bootstrap-modal bootstrap-5
1个回答
0
投票

我发现问题是我忘记在 app.module.ts 中添加 HttpClientModule,因为我在控制台中收到错误:

ERROR NullInjectorError: R3InjectorError[_UserService -> _UserService -> _HttpClient -> _HttpClient]: 
  NullInjectorError: No provider for _HttpClient!
© www.soinside.com 2019 - 2024. All rights reserved.