Community Post

Angular2 Component or Directive ?

davidvicky

Angular2も含めAngular1.5からコンポーネント指向的な話があり、文字通り@Componentを利用する機会が増えるだろうと思います(Angular2を利用する場合、当然ですが)。ただインジェクションするときに「Componentをdirectivesに書いて」とか「ここはComponentで作るけど、ここはDirectiveにしよう」という話もあり「Component?Directive?ほげ?」みたいな話もあるのでまとめてみる

f:id:albatrosary:20160415114646p:plain

Directives オーバービュー

Angular2のディレクティブには3種類ある:

Components Structural directives Attribute directives 「Component(コンポーネント)」はテンプレートと実際のディレクティブから成る。3種類のディレクティブの中でも最も一般的なもので殆どの場合、このComponentを使ってアプリケーションを書くことになる。

「Structural directive(構造ディレクティブ)」は、DOM要素を追加および削除することでDOMの構造を変更させる。 NgForとNgIfの場合は2つともよく知られた例です。

「Attribute directive(属性ディレクティブ)」は、要素の外観や動作を変更させる。たとえば、ビルトインNgStyleディレクティブは、同時に複数の要素のスタイルを変更することができる。

http://1tour.vn

http://1tour.vn/tour/

http://1tour.vn/khach-san/