私はちょうどAngular RC6で始まりました。私は@ NgModuleデコレータ内にHttpModuleをインポートしています。配列のプロバイダがありません
しかし、私はこの例外が発生します:配列のプロバイダがありません!
どうすればこの問題を解決できますか?
constructor(private myService: CustomService, public items: Item[]) { }
私はちょうどAngular RC6で始まりました。私は@ NgModuleデコレータ内にHttpModuleをインポートしています。配列のプロバイダがありません
しかし、私はこの例外が発生します:配列のプロバイダがありません!
どうすればこの問題を解決できますか?
constructor(private myService: CustomService, public items: Item[]) { }
た場合にbindings
またはproviders
を使用してみてください:このエラーが原因で発生し何らかの理由で :edit-- -
サービス、コンポーネント、またはディレクティブのコンストラクタにパラメータが含まれている場合、Angulars依存性注入はプロバイダを見つけて値を取得しようとしますコンストラクタに渡します。
タイプItem[]
のプロバイダが登録されていません。
どちらか
public items: Item[]
前@Optional()
を追加プロバイダはあなたのコード
例えば@Component({
selector: 'test-app',
bindings: [ServiceName]
})
だけで問題を再現することを可能にするコードを追加してくださいコンストラクタの外に配列を初期化し、今あなたが
export class Animal{
public animals: Animal[]; //initializing outside of constructor
constructor(private animal: Animal) {
this.animals = new Array<Animal>(); //creating inside of constructor
animals.push(animal); //adding element to the array
}
}
OKですコンストラクタでそれを作成します。エラーメッセージによれば、配列をどこかに注入しようとし、一致するプロバイダが登録されていません。私はそれが7番目のファイル行にあると思います;-) –
エラー:キャッチされていません(約束しています):エラー:app/home/home.htmlのエラー:9:4原因:Arrayのプロバイダがありません! – Depzor
これは、エラーが発生している場所です。あなたはそれを受け入れることができるように答えるべきですか? ;-p私は 'line 13'とかなり近いと思う。 –