【问题标题】:StaticInjectorError静态注入器错误
【发布时间】:2019-06-08 12:34:04
【问题描述】:

这是我的 HttpClient 代码:

import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { CreeperUser } from '../Models/CreeperUser';
import { Observable } from 'rxjs';

@Component({
    templateUrl: 'friends.component.html'
})
export class FriendsComponent {
    users: number;

    constructor(private http: HttpClient) {
        this.DisplayUser();
    } 

    public CallApi_HttpGet(): Observable<CreeperUser[]> {
        return this.http.get<CreeperUser[]> ('https://localhost:44399/api/user');
    }

    public DisplayUser(){
        this.CallApi_HttpGet().subscribe(response => {
            this.users = response[0].userId;
        });
    }
}

当我运行代码时,Chrome 的控制台告诉我:

Error: Uncaught (in promise): Error: StaticInjectorError(AppModule) 

【问题讨论】:

  • 请注意,组件不应该直接使用HttpClient,编写服务来管理它。但是你在任何地方都有HttpClientModule 吗?
  • 嘿 Play_D,您的问题可以改进:stackoverflow.com/help/how-to-ask.
  • 由于各种原因,请避免将错误消息(或代码)的图像放在问题中。实际上,我可以看到截图中最相关和最重要的消息是“No provider for HttpClient”

标签: angular angular-httpclient


【解决方案1】:

你没有在你的模块中提供提供者;

 import { HttpClientModule, HttpClient } from '@angular/common/http';
.
.
.
@NgModule({
imports: [
    BrowserModule,
    HttpClientModule,
    BrowserAnimationsModule,
    FormsModule,
    AppRoutingModule
],
providers: [ HttpClientModule, ... ]

希望这能解决您的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-25
    • 2018-10-18
    • 2020-06-08
    • 2018-07-21
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多