私はHttpに関するAngularに関するこの基本的なチュートリアルに従っています。
「セットアップ:モジュールのインストール」セクションでわかるように、次のようにHttpClientModuleをインポートします。
import {HttpClientModule} from '@angular/common/http';
プロジェクトでこれを実行すると、「モジュール '@ angular / common / http'が見つかりません」というエラーが表示されます。
次のモジュールを次のようにインポートしてみました。
import { HttpModule } from '@angular/http';
そして私の輸入セクション:
imports: [
HttpModule
],
ここでの問題は、このHttpModuleをサービスオブジェクトに挿入できず、「モジュールHttpModuleが見つかりません」というエラーが発生することです。
これが私のサービスクラスです:
import { Injectable, OnInit } from '@angular/core';
//Custom Models
import { Feed } from '../Models/Feed';
@Injectable()
export class FeedsService {
constructor(private httpClient: HttpModule) {}
}
何が悪いのですか?
すべてを更新チュートリアルに従ってモジュールをインポートできないことがわかったときに実行する必要があったのは、npm update
コマンドを実行してすべてのパッケージを更新することでした。
重要:HttpClientModule
Angular 4.3.0以降の場合です。チェック@Maximus'のコメントをしてPengyyさん@ 答え詳細は。
HttpClient
モジュールではなく、コンポーネント/サービスに注入する必要があります。にインポートHttpClientModule
する場合@NgModule
// app.module.ts:
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
// Import HttpClientModule from @angular/common/http
import {HttpClientModule} from '@angular/common/http';
@NgModule({
imports: [
BrowserModule,
// Include it under 'imports' in your application module
// after BrowserModule.
HttpClientModule,
],
})
export class MyAppModule {}
だから変更
constructor(private httpClient: HttpModule) {}
に
constructor(private httpClient: HttpClient) {}
ドキュメントに書かれているように:https : //angular.io/guide/http#making-a-request-for-json-data
ただし、HttpModuleをインポートしたため、
あなたは、注入する必要があるconstructor(private httpClient: Http)
として@Maximusコメントとに記載された@Pengyyでこの答え。
そして、の違いについての詳細情報についてHttpModule
とHttpClientModule
、この答えを確認してください。https://stackoverflow.com/a/45129865/5706293
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加