前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >angular2关于内置通道的使用

angular2关于内置通道的使用

作者头像
用户1437675
发布2018-08-20 11:14:15
5880
发布2018-08-20 11:14:15
举报
文章被收录于专栏:Angular&服务Angular&服务

1.截取字符数组

截取字符数组

代码语言:javascript
复制
@Component({
  selector: 'slice-list-pipe',
  template: `<ul>
    <li *ngFor="let i of collection | slice:1:3">{{i}}</li>
  </ul>`
})
export class SlicePipeListComponent {
  collection: string[] = ['a', 'b', 'c', 'd'];
}

页面渲染出来

代码语言:javascript
复制
<li>b</li>
<li>c</li>

截取字符串

代码语言:javascript
复制
@Component({
  selector: 'slice-string-pipe',
  template: `<div>
    <p>{{str}}[0:4]: '{{str | slice:0:4}}' - output is expected to be 'abcd'</p>
    <p>{{str}}[4:0]: '{{str | slice:4:0}}' - output is expected to be ''</p>
    <p>{{str}}[-4]: '{{str | slice:-4}}' - output is expected to be 'ghij'</p>
    <p>{{str}}[-4:-2]: '{{str | slice:-4:-2}}' - output is expected to be 'gh'</p>
    <p>{{str}}[-100]: '{{str | slice:-100}}' - output is expected to be 'abcdefghij'</p>
    <p>{{str}}[100]: '{{str | slice:100}}' - output is expected to be ''</p>
  </div>`
})
export class SlicePipeStringComponent {
  str: string = 'abcdefghij';
}

2.数字格式转换(保留2位小数等)

代码语言:javascript
复制
number_expression | number[:digitInfo]

格式化为文本。 expression是一个数字:

digitInfo是string具有以下格式的:

代码语言:javascript
复制
{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}

minIntegerDigits是要使用的最小数字的整数数字。 默认为1 minFractionDigits是分数后的最小位数。 默认为0 maxFractionDigits是分数后的最大位数。默认为3

代码语言:javascript
复制
@Component({
  selector: 'number-pipe',
  template: `<div>
    <p>e (no formatting): {{e}}</p>
    <p>e (3.1-5): {{e | number:'3.1-5'}}</p>  //整数最小有3位。小数最小有一位,最多有5位 
    <p>pi (no formatting): {{pi}}</p>
    <p>pi (3.5-5): {{pi | number:'3.5-5'}}</p>   //整数最小3位,小数只能有5位
  </div>`
})
export class NumberPipeComponent {
  pi: number = 3.141592;
  e: number = 2.718281828459045;
}

将数字变成两位小数

代码语言:javascript
复制
<p>{{number | number:'1.2-2'}}</p>   

将数字变成百分数两位小数 20.84%

代码语言:javascript
复制
<p>{{number | percent:'1.2-2'}}</p> 

3.大小写转换

代码语言:javascript
复制
@Component({
  selector: 'lowerupper-pipe',
  template: `<div>
    <label>Name: </label><input #name (keyup)="change(name.value)" type="text">
    <p>In lowercase: <pre>'{{value | lowercase}}'</pre>        //将value转换成小写
    <p>In uppercase: <pre>'{{value | uppercase}}'</pre>        //将value转换成大写
  </div>`
})
export class LowerUpperPipeComponent {
  value: string;
  change(value: string) { this.value = value; }
}

4.日期格式转换

代码语言:javascript
复制
{{ today | date[:format] }}

today是一个日期对象或数字(自UTC时代以来的毫秒)或ISO字符串

[:format] 指明要包括的日期/时间组件。格式可以如下所示预定义或自定义,如表所示。

代码语言:javascript
复制
'medium':等同于'yMMMdjms'(例如Sep 3, 2010, 12:05:08 PMfor en-US)
'short':等同于'yMdjm'(例如9/3/2010, 12:05 PMfor en-US)
'fullDate':等同于'yMMMMEEEEd'(例如Friday, September 3, 2010for en-US)
'longDate':等同于'yMMMMd'(例如September 3, 2010for en-US)
'mediumDate':等同于'yMMMd'(例如Sep 3, 2010for en-US)
'shortDate':等同于'yMd'(例如9/3/2010for en-US)
'mediumTime':等同于'jms'(例如12:05:08 PMfor en-US)
'shortTime':等同于'jm'(例如12:05 PMfor en-US)

常用实例

代码语言:javascript
复制
{{ today | date:"y-MM-dd"}}  //2017-03-14

{{ today | date:"mmss"}}  //11:35

{{ today | date:"y年MM月dd日HH时mm分ss秒"}}  //2017年03月14日11时37分12秒

官方例子

代码语言:javascript
复制
@Component({
  selector: 'date-pipe',
  template: `<div>
    <p>Today is {{today | date}}</p>
    <p>Or if you prefer, {{today | date:'fullDate'}}</p>
    <p>The time is {{today | date:'jmZ'}}</p>
  </div>`
})
export class DatePipeComponent {
  today: number = Date.now();
}

5.对象转换json

代码语言:javascript
复制
@Component({
  selector: 'json-pipe',
  template: `<div>
    <p>Without JSON pipe:</p>
    <pre>{{object}}</pre>
    <p>With JSON pipe:</p>
    <pre>{{object | json}}</pre>
  </div>`
})
export class JsonPipeComponent {
  object: Object = {foo: 'bar', baz: 'qux', nested: {xyz: 3, numbers: [1, 2, 3, 4, 5]}};
}

6.数字格式化为货币

代码语言:javascript
复制
@Component({
  selector: 'currency-pipe',
  template: `<div>
    <p>A: {{a | currency:'USD':false}}</p>
    <p>B: {{b | currency:'USD':true:'4.2-2'}}</p>
  </div>`
})
export class CurrencyPipeComponent {
  a: number = 0.259;
  b: number = 1.3495;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.07.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.截取字符数组
  • 2.数字格式转换(保留2位小数等)
  • 3.大小写转换
  • 4.日期格式转换
  • 5.对象转换json
  • 6.数字格式化为货币
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档