角型コンポーネントでは、typescriptで記述され、クラスメンバー(変数)をコンストラクタのパラメータとして宣言することができます。私の質問は、そうする理由です。
自分自身を明確にするには、以下のスニペットをご覧ください。どちらも同じ意味を持っています。Angular2における依存性注入の構文
- 最初は、(ほとんどのOO言語で行われているように)依存関係注入メカニズムを使用してプライベートメンバーを定義する古典的な方法です。
- 後者は、誤解されていなければ、TypeScriptの特異性です。私の意見で
export class HeroListComponent implements OnInit {
// private member declaration
private heroService:HeroService;
// constructor signature
constructor(service:HeroService) {
// private member assignment
this.heroService = service;
}
}
export class HeroListComponent implements OnInit {
// here the private member is declared inside the constructor signature
constructor(private heroService:HeroService) { }
}
は、最初の構文が明確と活字体になじみのない人にとって理解しやすいです。
私は、後者を使用するために、コードが最終的には縮小/醜いので、それほど短くすることは別として、特別な理由があるかどうか疑問に思っていました。ありがとう。
これは角度そのものとは関係ありません。 –