在尝试添加PrimeNG表时,我在此处破坏了我的构建:https://github.com/kentcdodds/babel-plugin-codegen/issues/10
我记得将我的package.json
从TypeScript 2.3.4更新到2.4.0并且由于(我认为)我使用Headers
和Http
这个事实而破了呼叫。我尝试将其设置回2.3.4无济于事。我已经通过添加来修复了我的能力:
import { HttpClient, HttpHeaders } from "@angular/common/http";
但仍然遇到我现在对HttpClient
的错误。我尝试将HttpClient
导入提供程序,如下所示:providers: [HttpClient]
用于我的app.module.ts。
完整错误如下:
AppComponent.html:9 ERROR Error: StaticInjectorError(AppModule)[HttpClient -> HttpHandler]:
StaticInjectorError(Platform: core)[HttpClient -> HttpHandler]:
NullInjectorError: No provider for HttpHandler!
答案 0 :(得分:25)
确保您已导入static
,而不是将HttpClientModule
直接添加到提供商列表中。
有关详细信息,请参阅https://angular.io/guide/http#setup。
HttpClient
实际上为您提供HttpClientModule
。见https://angular.io/api/common/http/HttpClientModule:
代码示例:
HttpClient
答案 1 :(得分:23)
将其导入app.module.ts
import {HttpClientModule} from '@angular/common/http';
并在导入中添加此内容
HttpClientModule
答案 2 :(得分:10)
添加
import { HttpClientModule } from '@angular/common/http';
到app.module.ts
文件。这解决了我的问题。
答案 3 :(得分:7)
仅我已导入appmodule.ts
import { HttpClientModule } from '@angular/common/http';
imports: [
BrowserModule,
FormsModule,
HttpClientModule <<<this
],
我的问题解决了
答案 4 :(得分:7)
就我而言,需要:
@Injectable({
providedIn: 'root' // <- ADD THIS
})
export class FooService { ...
而不只是:
@Injectable()
export class FooService { ...
答案 5 :(得分:2)
提供您在组件装饰器部分中编写的所有自定义服务方式 示例:提供者:[serviceName]
注意:如果您正在使用服务在组件之间交换数据。宣布 提供者:[serviceName] 在模块级别
答案 6 :(得分:2)
将HttpClientModule导入您的app.module.ts
import {HttpClientModule} from '@angular/common/http';
...
@NgModule({
...
imports: [
//other content,
HttpClientModule
]
})
答案 7 :(得分:2)
在您的HttpClientModule
中添加app.module.ts
并尝试,这样可以正常工作。
例如
import { HttpModule } from '@angular/http
答案 8 :(得分:1)
此错误有两个原因
1)在导入数组中,如果您两次导入 HttpModule
2)如果尚未导入:
import { HttpModule, JsonpModule } from '@angular/http';
如果需要,请运行:
npm install @ angular / http
答案 9 :(得分:1)
有两个可能的原因 1.如果您在服务中使用HttpClient,则需要在模块文件中导入HttpClientModule并在imports数组中提及它。
import { HttpClientModule } from '@angular/common/http';
如果您在服务中使用普通的Http,则需要在模块文件中导入HttpModule并在imports数组中提及它。
import { HttpModule } from '@angular/http
'
默认情况下,它在angular中不可用,那么您需要安装@ angular / http
如果愿意,可以在项目中同时使用HttpClientModule和HttpModule。