管道 pipes
把資料作為輸入,然後轉換它,給出期望的輸出。
每個應用開始的時候差不多都是一些簡單任務:獲取資料、轉換它們,然後把它們顯示給使用者。
angular內建了一些管道,比如datepipe
、uppercasepipe
、lowercasepipe
、currencypipe
和percentpipe
。它們全都可以直接用在任何模板中。
uppercase將字串轉換為大寫
lowercase將字串轉換為小寫
例如:
html **:
將字串轉換為大寫}
ts **:
str:string = 'hello'
介面顯示:
將字串轉換為大寫hello
number用來將數字處理為我們需要的小數格式
接收的引數格式為 .-
最少整數字數預設為 1
最少小數字數預設為 0
最多小數字數預設為 3
當小數字數少於規定的 時,會自動補 0
當小數字數多於規定的 時,會四捨五入
例如:
html **:
圓周率是}
ts **:
pi:number = 3.14159;
介面顯示:
圓周率是 03.1416
currency管道用來將數字轉換為貨幣格式
例如:
html **:}}
ts **:
a:number = 8.2515
b:number = 156.548
介面顯示:
usd8.25
$0,156.55
currency管道用來將數字轉換為貨幣格式
例如:
html **:
我的生日是}
ts **:
birthday: date = new date('2018-01-03');
介面顯示:
我的生日是2018-01-03
管道可能接受任何數量的可選引數來對它的輸出進行微調。
我們可以在管道名後面新增乙個冒號( : )再跟乙個引數值,來為管道新增引數(比如currency:'eur')。 如果我們的管道可以接受多個引數,那麼就用冒號來分隔這些引數值。
例如:
我的生日是}
}
我們可以把管道鏈
在一起,以組合出一些潛在的有用功能。
下面這個例子中,我們把birthday鏈到datepipe管道,然後又鏈到uppercasepipe,這樣我們就可以把生日顯示成大寫形式了。
the chained hero's birthday is }
準備工作
新建乙個 名字叫做 formatepipe 的管道
使用命令列工具:ng g pipe pipe/formatepipe
注意
formatepipepipe 類
import from '@angular/core';
@pipe()
export class formatepipepipe implements pipetransform
}
原始碼解釋:
@pipe()
@pipe語法糖是告訴 angular 當前的類是乙個 管道
name 的值是:我們使用管道的時候的模版表示式的識別符號。這個名字是可以任意定義的。
transform(value: any, args?: any): any
transform 方法
value: 是傳入的值
args: 是傳入的格式化的值
例如:
我的生日是}
date 是 name 的值
birthday 是 value
"yyyy-mm-dd" 是 args
修改管道的方法
transform(value: string, args: string): any
return args +""+ value;
}
使用管道
html **:
自定義的管道 }
ts **:
price: number = 3.13456537;
介面顯示:
自定義的管道 ¥3.13456537
Angular4學習筆記之DOM屬性繫結
使用插值表示式將乙個表示式的值顯示在模版上 插值表示式 與 屬性繫結 之間的關係 兩種方式都可以實現,angular 在實現的邏輯上面是 在程式載入元件的時候,會先將 插值表示式 翻譯為 屬性繫結 修改 bind.component.html 1.少量的 html屬性和 dom屬性之間有這 1 1 ...
Angular4學習筆記 目錄彙總
angular4學習筆記 一 環境搭建 angular4學習筆記 二 在webstorm中啟動專案 angular4學習筆記 三 路由 angular4學習筆記 四 依賴注入 angular4學習筆記 五 資料繫結 響應式程式設計和管道 angular4學習筆記 六 input和output ang...
Angular4學習之依賴注入
在乙個專案中,元件和服務之間存在錯綜複雜的關係,為了最小程度的耦合,我們需要來管理組織這種關係,依賴注入就是管理這種關係的一種方式。在學習乙個概念之前,我們必須要知道我們為什麼要學習這個東西,這個東西究竟解決了什麼問題。就好比這裡講到的,依賴注入究竟解決了什麼問題。要解決這個問題,我們先來看看示例 ...