Angular最新教程-第十三節 管道Pipes 自定義管道

自定義管道

運行ng generate pipe pipes/cny-currency
因爲自定義管道使用的比較少,所以我們把管道都新建到pipes文件目錄下。
打開\src\app\pipes\cny-currency.pipe.ts
這裏寫圖片描述
這裏我們編寫了一個簡單的管道,在輸入的前面加上人民幣符號,輸出。
這裏應該都很好理解,name是我們在html中使用的名字。
transform是管道的關鍵方法。
value是輸入的值。可以指定類型。
args是可選參數,在使用的時候,就是名字後面加冒號的那些屬性。
我們在\src\app\site-status\site-status.component.html中測試一下。
<li>在線訪客:{{siteStatus.onlineNum|cnyCurrency}}</li>
這裏寫圖片描述

鏈式管道

我們可以把管道鏈在一起,組合起來一起使用。
比如我們像讓金額保留兩位小數,並且加上人民幣符號。
我們可以如下修改
<li>在線訪客:{{siteStatus.onlineNum|number:'1.2-2'|cnyCurrency}}</li>
這裏寫圖片描述

純(pure)管道與非純(impure)管道

默認的管道都是純管道,我建議不要使用非純管道。
純管道和非純管道的區別就是是否實時的檢測數據是否發生變化。
如我們在使用純管道的時候,簡單的修改被綁定的數組,是不會刷新界面的。
所以我的建議是記下在修改數據的時候,直接更換整個數據,
而不是使用類似push這樣的方法,修改數據內部。
因爲這樣的修改,不會觸發Angular的純管道調動。

沒有過濾和排序

在AngularJS1.x中的filter和orderBy過濾器,在Angular中它們沒有等價物。
如果需要使用這樣的方法,可以通過編寫一個服務,然後注入到函數中。
在綁定到頁面之前對數據進行操作。
如果這的要在管道中使用過濾,也可以是用以下方法實現。
dataArrs.filter(item=>item.showType)

這節課的內容就到這裏完成了。
感謝您的閱讀。
我是莽夫,希望你開心。
如果你覺得本文對你有幫助,請掃描文末二維碼,支持博主原創。
希望大家關注我的個人公衆號ionic_
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章