重點描述Angular中的@componen----通俗的解釋:創建一個組件,附上一些行為。
@Component修飾符可以讓開發者通過Angular 的@Component創建一個類似Java的class,並同時提供額外的元數據用於定義在運行環境中,這個component將如何運行/實例化以及被使用。
@Component始終存在一個視圖模板,在這個視圖模板中,每一個元素只能有一個component被實例化。
任何一個Component都是ng-module的一部分,這樣它就可以被其他應用和其他Component所調用。為了定義Component是ng-module的一個成員之一,開發者應該在ng-module的declarations屬性中,將自己開發的Component列出。
列舉元數據屬性
animations------------------規定了當前的動畫表
selector----------------------樣式選擇器,它可以在一個復雜的視圖模板中識別出當前的component.
templateUrl-----------------視圖模板的url
styleUrls---------------------運用當前component中的一組樣式表的url列表
changeDetection----------通過這個component變更偵測策略
encapsulation--------------通過該component設計封裝策略
exportAs---------------------名下component的實例化被導出在一個模板視圖中。
host---------------------------class屬性映射到host元素上,並綁定了事件和屬性
inputs-------------------------當前class屬性名列表,當前components輸入的數據綁定。
interpolation------------------自定義改寫工具,被用於當前的component視圖模板中
moduleld ---------------------文件中ES/CommonJS 模塊的id,而當前component就定義在該模塊中。
outputs ---------------------- 當前class屬性名列表,對外暴露輸出事件,這樣其他components就可以調用。
providers ---------------------providers列表,該列表可以用於當前component和其子component.
queries -----------------------將配置問題注入到當前component中。
template ---------------------視圖模板
viewProvider-providers--列表,該列表可以用於當前component,以及其子視圖。
