angular管道
Posted 雅哒华
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angular管道相关的知识,希望对你有一定的参考价值。
AsyncPipe
AsyncPipe 订阅一个 Observable 或 Promise 对象,并返回它发出的最新值。 当发出新值时,异步管道会主动调用变化检测器的 markForCheck()
方法,标识组件需执行变化检测。 当组件被销毁时,异步管道自动取消订阅,以避免潜在的内存泄漏。
用 Promise 来修复 AsyncPipe 发送多次 HTTP 请求的问题:
this.person = this.http.get("https://jsonplaceholder.
typicode.com/posts/1")
.map(res => res.json()).toPromise()
<div> <p>{{ (person$ | async)?.id }}</p> <p>{{ (person$ | async)?.title }}</p> <p>{{ (person$ | async)?.body }}</p> <button (click)="showPersonInfo()">显示用户ID</button> <p *ngIf="isShow">{{ (person$ | async)?.id }}</p> </div>
I18nSelectPipe
mapping
一个对象,指示应该显示的文本提供的不同值expression
。如果映射关键字中没有一个与该值匹配expression
,则other
返回键的内容,否则返回空字符串。
export class I18nSelectPipeComponent { gender: string = 'male'; inviteMap: any = {'male': 'Invite him.', 'female': 'Invite her.', 'other': 'Invite them.'};
}
<div>{{gender | i18nSelect: inviteMap}} </div> 返回Invite him.
I18nPluralPipe
expression | i18nPlural:mapping[:locale]
expression
是一个数字。mapping
是模仿ICU格式的对象,请参阅 http://userguide.icu-project.org/formatparse/messageslocale
是一个string
定义使用的语言环境(LOCALE_ID
默认使用当前)
DecimalPipe
number_expression | number[:digitInfo[:locale]]
将一个数字格式化为文本。组大小和分隔符以及其他特定于语言环境的配置均基于活动语言环境。
digitInfo
是一个string
具有以下格式:{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
minIntegerDigits
是要使用的最小整数位数。默认为1
。minFractionDigits
是分数后的最小位数。默认为0
。maxFractionDigits
是分数后的最大位数。默认为3
。locale
是一个string
定义使用的语言环境(LOCALE_ID
默认使用当前)
CurrencyPipe
number_expression | currency[:currencyCode[:display[:digitInfo[:locale]]]]
用于currency
将数字格式化为货币。
currencyCode
是ISO 4217货币代码,例如USD
美元和EUR
欧元。display
表示是显示货币符号还是代码。code
(默认):使用代码(例如USD
)。symbol
:使用符号(例如$
)。symbol-narrow
:有些国家有两种货币符号,一种是正规货币,一种是货币符号boolean(从v5开始弃用):
true
对于符号而言是code
狭义的(例如,加拿大元CAD具有符号CA$
和符号窄$
)。如果所选货币没有窄的符号,将使用常规符号。locale
是一个string
定义使用的语言环境(LOCALE_ID
默认使用当前)
@Component({
selector: 'currency-pipe',
template: `<div>
<!--output '$0.259'-->
<p>A: {{a | currency}}</p>
<!--output 'CA$0.26'-->
<p>A: {{a | currency:'CAD'}}</p>
<!--output 'CAD0.26'-->
<p>A: {{a | currency:'CAD':'code'}}</p>
<!--output 'CA$0,001.35'-->
<p>B: {{b | currency:'CAD':'symbol':'4.2-2'}}</p>
<!--output '$0,001.35'-->
<p>B: {{b | currency:'CAD':'symbol-narrow':'4.2-2'}}</p>
<!--output '0 001,35 CA$'-->
<p>B: {{b | currency:'CAD':'symbol':'4.2-2':'fr'}}</p>
</div>`
})
export class CurrencyPipeComponent {
a: number = 0.259;
b: number = 1.3495;
}
JsonPipe
使用将值转换为字符串JSON.stringify
。用于调试。
UpperCasePipe
将文本转换为大写
LowerCasePipe
将文本转换为小写
PercentPipe
将数字格式化为百分比。
DeprecatedDecimalPipe
number_expression | number[:digitInfo]
digitInfo
is astring
which has a following format:{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
minIntegerDigits
is the minimum number of integer digits to use. Defaults to1
.minFractionDigits
is the minimum number of digits after fraction. Defaults to0
.maxFractionDigits
is the maximum number of digits after fraction. Defaults to3
.
以上是关于angular管道的主要内容,如果未能解决你的问题,请参考以下文章
typescript Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming/angular-2/
typescript Angular最终版本的Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming
typescript Angular最终版本的Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming
typescript Angular最终版本的Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming