静态注入器错误
Posted
技术标签:
【中文标题】静态注入器错误【英文标题】: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,您的问题可以改进:***.com/help/how-to-ask.
No provider for HttpClient的可能重复
由于各种原因,请避免将错误消息(或代码)的图像放在问题中。实际上,我可以看到截图中最相关和最重要的消息是“No provider for HttpClient”
【参考方案1】:
你没有在你的模块中提供提供者;
import HttpClientModule, HttpClient from '@angular/common/http';
.
.
.
@NgModule(
imports: [
BrowserModule,
HttpClientModule,
BrowserAnimationsModule,
FormsModule,
AppRoutingModule
],
providers: [ HttpClientModule, ... ]
希望这能解决您的问题
【讨论】:
以上是关于静态注入器错误的主要内容,如果未能解决你的问题,请参考以下文章
Angular 混合错误:试图在设置之前获取 AngularJS 注入器
错误错误:StaticInjectorError Angular 6