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...