Angular中的裝飾器

2022-07-30 07:00:16 字數 1430 閱讀 3960

angualr中的裝飾器是乙個函式,它將元資料新增到類、類成員(屬性、方法)和函式引數

用法:要想用裝飾器,把它放到被裝飾物件的上面或做左面

1.類裝飾器:

類裝飾器應用於類建構函式,可以用來監控、修改或替換類定義

類裝飾器表示式會在執行時當作函式被呼叫,類的建構函式作為唯一的引數

@component 標記類作為元件並收集元件配置元資料(繼承directive)

@directive 標記類作為指令並收集元件配置元資料

宣告當前類時乙個指令,並提供關於該指令的元資料

@pipc 宣告當前類是乙個管道,並且提供關於管道的元資料

@injectable 標記元資料並可以使用injector注入器注入

@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按照依賴關係來檢索

angular裝飾器總結

ngmodule 複製 component providers?provider exportas?string queries?複製 directive providers?provider exportas?string queries?複製 pipe 複製 injectable 複製 attr...

python中的裝飾器

其實去年就開始學python了,零零散散,陸陸續續學了點,期間學習了python web開發,爬蟲系統 但是一些基礎性的知識點長時間不看了就會忘,所以寫個部落格記錄下來,忘了可以隨時檢視,不用回去看 了,希望也能幫助大家學習哈。python中的裝飾器decorator其實是乙個高階函式,它接受乙個函...

Python 中的裝飾器

1.基本概念 問題 裝飾器是什麼?解答 嚴格來說,裝飾器只是語法糖,裝飾器是可呼叫的物件,可以像常規的可呼叫物件那樣呼叫,特殊的地方是裝飾器的引數是乙個函式 問題 裝飾器有什麼特性?解答 裝飾器有 個特性,一是可以把被裝飾的函式替換成其他函式,二是可以在載入模組時候立即執行 def decorate...