Angular中的裝飾器

Angualr中的裝飾器是一個函數,它將元數據添加到類、類成員(屬性、方法)和函數參數bootstrap

用法:要想用裝飾器,把它放到被裝飾對象的上面或作左面ide

1.類裝飾器:函數

 類裝飾器應用於類構造函數,能夠用來監控、修改或替換類定義對象

類裝飾器表達式會在運行時看成函數被調用,類的構造函數做爲惟一的參數繼承

@Component 標記類做爲組件並收集組件配置元數據(繼承Directive)索引

@Directive 標記類做爲指令並收集組件配置元數據事件

聲明當前類時一個指令,並提供關於該指令的元數據ip

@Pipc 聲明當前類是一個管道,而且提供關於管道的元數據原型

@Injectable 標記元數據並可使用Injector注入器注入io

@NgModule是一個裝飾器函數,它接收一個用來描述模塊屬性的元數據對象

重要的屬性有:

declarations 聲明本模塊中擁有的視圖類(Angular中有三種視圖類:組件、指令和管道)

exports - declarations的子集,可用於其餘模塊的組件模板

imports 本模塊聲明的組件模板須要的類須要的類所在的其餘模塊 模塊的導入聲明

providers -服務的建立者,並加入到全局服務列表中,

bootstrap --指定應用的主視圖(稱爲根節點),它是全部其餘視圖的宿主

2.屬性裝飾器:

 

屬性裝飾器表達式會在運行時看成函數被調用

傳入2個參數

(1).對於靜態成員來講是類的構造器,對於實例成員是類的原型對象

(2).成員名字

@Input 聲明一個輸入屬性,以便咱們能夠經過屬性綁定更新它

@Output 聲明一個輸出屬性,以便咱們能夠經過事件綁定進行訂閱

@Hostbinding 把宿主元素的屬性(好比CSS類) 綁定到指令/組件的屬性

@HostListener 經過指令/組件的方法訂閱宿主元素的事件

@ContentChild 配置一個內容查詢

@ViewChild 配置一個視圖查詢

@ContentChildren 配置多個內容查詢(返回QueryList類型)

@ViewChildren 配置多個視圖查詢(返回QueryList類型)

3.參數裝飾器:

參數裝飾器表達式會在運行時看成函數被調用

傳入3個參數

(1).對於靜態成員來講是類的構造函數,對於實例成員是類的原型對像

(2).成員名字

(3).參數在函數列表中的索引

@Ingject指定依賴關係的參數裝飾器(通常用來注入被標記Injectable的類)

@Optional將依賴項標記爲可選的參數類型,若是沒有找到依賴關係,注射器將提供null

@Self指定注射器只能從自己檢索依賴關係

@SkipSelf指定注射器只能從父類檢索依賴關係

@Host按照依賴關係來檢索

相關文章
相關標籤/搜索