2016-11-08 16 views
1

。コンストラクタ作成し角度プロバイダ

constructor(private heroService: HeroService) {} 

は今、私は理解していない部分は、私はこのクラスで定義された唯一のpropertesがある

this.heroService.getHeroes()

を使用することができる午前方法です

title = 'Tour of Heroes'; 
heroes: Hero[]; 
selectedHero: Hero; 

デコレータの@Componentのプロバイダは、this.を通じてアクセスするプロパティを自動的に作成しますか?

アプリケーションは

constructor(private heroService: HeroService) {} 

に(もpublicことができる)だけで、我々は魔法のthis.

答えて

1

privateを通じてheroServiceにアクセスすることができましたかわからない、働いても、プロパティを作成しheroServiceコンストラクターに渡された値を割り当てます。これはTypeScriptの機能であり、Angular2またはDIに依存しません。

+0

興味深いので、空白のままにした場合はpublicにデフォルト設定されますが、プロパティは作成されませんが、privateまたはpublicとして宣言してもプロパティを作成するようクラスに指示されます。 お役立ち情報私は、この構文はプロパティを作成することとは何か関係があります_why_の周りに私の頭を包むことはできません。それは、それを私的または公的と定義することによって、それが再使用されることを暗示しているからですか? 申し訳ありませんが、この質問が意味をなさない場合、私はかなり初心者です。 いずれにせよ、お返事ありがとうございます。非常に知って良い;) –

+1

プロパティにコンストラクタパラメータを割り当てることは非常に一般的です。したがって、この構文的シュガーを作成しました。 'private'と' public'を省略すると、プロパティは生成されず、 'heroService'はコンストラクタ内にのみ存在します。 –

関連する問題