2016-08-04 10 views
0

与えられたクラスのために、私はコンストラクタでいくつかのプライベート変数を宣言し、いくつかの呼び出しを行っています。私は、型指定された配列宣言でコンストラクタにそれを含めるときにプロバイダなしのエラーを受け取ることができ、コンストラクタの外で宣言するときにエラーは発生しません。TypeScript型付き配列宣言エラー

このコードは動作しますが、エラーフリー

private data: Array<MyType>; 

    constructor(private service: Service) { 
    this.service.getData().then(response => this.data = response.json()); 
    } 

はその後、逆説的に、以下の作業、およびスニペットの下に見つかったエラーを生成しません。コンソールから

constructor(private data: Array<MyType>, private service: Service) { 
    this.service.getData().then(response => this.data = response.json()); 
    } 

エラーが

EXCEPTION: Error: Uncaught (in promise) ORIGINAL EXCEPTION: No provider for Array!

が、これは、いくつかの構文エラーですか?私は恐ろしくコンセプトを誤解していますか?どちらの実装も同じように見え、まったく同じように動作するように感じます。

+0

:第2のケースで

new TheClass(service); 

? –

答えて

1

コードは同等です...コンストラクタの呼び出しを除いて。 ;最初のケースで)

:私はこの角度であると仮定

new TheClass(somethingHere, service); 
関連する問題