AngularJS 4(五)【管道】
管道
用來轉換資料渲染的格式,在 1.x 版本的時候稱之為過濾器,在 4.x 稱之為管道。
使用
格式:date_expression | date[:format[:timezone[:locale]]]
大寫轉換
<div>
<p ngNonBindable>{{ 'Angular' | uppercase }}</p>
<p>{{ 'Angular' | uppercase }}</p> <!-- Output: ANGULAR -->
</div>
小寫轉換
<div>
<p ngNonBindable>{{ 'Angular' | lowercase }}</p>
<p>{{ 'Angular' | lowercase }}</p> <!-- Output: angular -->
</div>
JavaScript 物件序列化
<div>
<p ngNonBindable>{{ { name: 'semlinker' } | json }}</p>
<p>{{ { name: 'semlinker' } | json }}</p> <!-- Output: { "name": "semlinker" } -->
</div>
數值格式化
number | ‘n1.n2-n3’
- n1: 最少位整數位,不夠補0,預設1
- n2:最少保留幾個小數,不夠補0,預設0
- n3:最多保留幾個小數,預設3
<div>
<p ngNonBindable>{{ 3343.14159265 | number: '1.4-4' }}</p>
<p>{{ 3.14159265 | number: '1.4-4' }}</p> <!-- Output: 3.1416 -->
</div>
日期格式化
@Component({
selector: 'date-pipe',
template: `<div>
<!--output 'Jun 15, 2015'-->
<p>Today is {{today | date}}</p>
<!--output 'Monday, June 15, 2015'-->
<p>Or if you prefer, {{today | date:'fullDate'}}</p>
<!--output '9:43 AM'-->
<p>The time is {{today | date:'shortTime'}}</p>
<!--output '2015-06-15 05:03 PM GMT+9'-->
<p>The custom date is {{today | date:'yyyy-mm-dd HH:mm a z':'+0900'}}</p>
<!--output '2015-06-15 09:03 AM GMT+9'-->
<p>The custom date with fixed timezone is {{fixedTimezone | date:'yyyy年MM月dd目 HH:mm a z':'+0900'}}</p>
</div>`
})
export class DatePipeComponent {
today = Date.now();
fixedTimezone = '2015-06-15T09:03:01+0900';
}
字元擷取
<div>
<p ngNonBindable>{{ 'semlinker' | slice:0:3 }}</p>
<p>{{ 'semlinker' | slice:0:3 }}</p> <!-- Output: sem -->
</div>
管道鏈
<div>
<p ngNonBindable>{{ 'semlinker' | slice:0:3 | uppercase }}</p>
<p>{{ 'semlinker' | slice:0:3 | uppercase }}</p> <!-- Output: SEM -->
</div>
自定義管道
定義好的管道要在根模組中 declarations 宣告。
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({name: 'range'})
export class RangePipe implements PipeTransform {
transform(value: Array<any>, range: Number): Array<Number> {
for(var i = 0; i < range; i++){
value.push(i);
}
return value;
}
}
<p *ngFor="let key of [] | range: 10">{{key}}</p>
相關文章
- AngularJS 4(三)【指令】AngularJS
- AngularJS 4(七)【路由】AngularJS路由
- AngularJS 4(一)【搭建環境】AngularJS
- AngularJS 4(四)【HTTP 服務】AngularJSHTTP
- AngularJS 4(六)【依賴注入】AngularJS依賴注入
- AngularJS 4(二)【模版語法,元件】AngularJS元件
- AngularJS學習日記(五)UI-RouteAngularJSUI
- AngularJS、 Angular 2、Angular 4 的區別AngularJS
- Angularjs——初識AngularJSAngularJS
- AngularJs with Webpackv1 升級到 Webpack4AngularJSWeb
- ASP.NET MVC下使用AngularJs語言(五):ng-selectedASP.NETMVCAngularJS
- AngularJS(二、如何用AngularJS建立前端程式碼框架)AngularJS前端框架
- AngularJS整理(1.0.0)AngularJS
- 初識AngularJSAngularJS
- AngularJS之FilterAngularJSFilter
- 管道 |
- AngularJS快速開始AngularJS
- AngularJS核心之DirectiveAngularJS
- 淺讀tomcat架構設計之Pipeline-Valve管道(4)Tomcat架構
- Angularjs 學習總結AngularJS
- AngularJS之Scope及ControllerAngularJSController
- Angularjs的工程化AngularJS
- angular 管道Angular
- 【linux】管道!!!Linux
- redis管道Redis
- Filter管道Filter
- Linux 管道Linux
- [Linux]管道Linux
- 介紹 Linux 中的管道和命名管道Linux
- 演算法鏈與管道(上):建立管道演算法
- 2024-4-12 週五
- 速度不夠,管道來湊——Redis管道技術Redis
- Angularjs學習筆記指令AngularJS筆記
- AngularJS動態設定CSSAngularJSCSS
- WebAPI Angularjs 上傳檔案WebAPIAngularJS
- 優化Angularjs的$watch方法優化AngularJS
- mongodb 聚合管道MongoDB
- windows命名管道Windows