TL:DR:プライベートコンストラクタのパラメータを使用しようとしたときにエラーSupplied parameters do not match any signatures of call target
が発生しました。 constructor (private http: Http) {}
コンストラクタのプライベートパラメータとのパラメータの不一致
Angular2でプライベートパラメータを設定するときに問題があります。私は、プロパティがコンストラクタ内でプライベートとして宣言されている場合、それを渡す必要はないと考えていました。これは私には奇妙に思えますが、これについての私の理解は間違っていると思っています。そうでなければ示唆する。ここで私が何を意味するかの例です:
constructor (private http: Http) {}
HTTPプロパティhttps://angular.io/docs/ts/latest/guide/server-communication.html
からその後、しかし、私はすべてのHTTPインスタンスが別の場所に渡されて表示されていない、と呼ばれています。
同じことを実装しようとしましたが、次のエラーが表示されます。 Supplied parameters do not match any signatures of call target
、つまり、Httpインスタンスをコンストラクタに渡す必要があると考えられます。
プログラムは「カード」の「ギャラリー」用です。カードは、Httpを使用する 'CardService'から配信されます。このコードは、現在の行でエラーがスローされますmainGallery: Gallery = new Gallery();
import { Component } from '@angular/core';
import { Gallery } from './gallery';
import { CardService } from './card.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
providers: [ CardService ]
})
export class AppComponent {
title = 'app works!';
mainGallery: Gallery = new Gallery();
}
ギャラリーがどのように見えるかです:
@Component({
providers: [CardService]
})
export class Gallery{
cards: Card[] = [];
constructor(private cardService: CardService){
}
}
は、私は、エラーの同じ種類を取得します私がconstruでprivate http: Http
を使用しようとするとカードサービスのctor。どんな助けでも大歓迎です!
EDIT:ここに は私NgModuleです:
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [],
bootstrap: [AppComponent]
})
は、あなたのNgModuleにHttpModuleををインポートしましたか? – MatWaligora
@MatWaligoraありがとう、今NgModuleを表示する質問が更新されました – OliverRadini
どこでエラーが発生していますか?あなたは[mcve]の多くを与えることができますか?依存関係の注入は本当にうまくいくはずですが、新しいインスタンスを作成しようとすると、問題が発生する可能性があります。 – jonrsharpe