Angular 没有价值的货币管道
Angular currency pipe without value
是否可以在没有实际的情况下使用货币管道amount/value?
用法如 https://angular.io/api/common/CurrencyPipe:
@Component({
selector: 'currency-pipe',
template: `<div>
<!--output 'CA[=11=].26'-->
<p>{{a | currency:'CAD'}}</p>
</div>`
})
export class CurrencyPipeComponent {
a: number = 0.259;
b: number = 1.3495;
}
输出:CA[=13=].26
但是,我需要输入'CAD'并输出'CA$'。这有可能吗?
期望的行为:
@Component({
selector: 'currency-pipe',
template: `<div>
<p>{{currency | currency:'CAD'}}</p>
</div>`
})
期望输出:CA$
如果你查看源代码:
https://github.com/angular/angular/blob/master/packages/common/src/pipes/number_pipe.ts#L205
如果输入“不是值”,你会发现管道 returns null - 如果遵循函数 returns false:
function isValue(value: number|string|null|undefined): value is number|string {
return !(value == null || value === '' || value !== value);
}
可能,实现您想要的结果的最佳方式是创建您自己的管道。查看 CurrencyPipe 的代码。最重要的片段是:
currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);
可能这就是你想要使用的。
是否可以在没有实际的情况下使用货币管道amount/value?
用法如 https://angular.io/api/common/CurrencyPipe:
@Component({
selector: 'currency-pipe',
template: `<div>
<!--output 'CA[=11=].26'-->
<p>{{a | currency:'CAD'}}</p>
</div>`
})
export class CurrencyPipeComponent {
a: number = 0.259;
b: number = 1.3495;
}
输出:CA[=13=].26
但是,我需要输入'CAD'并输出'CA$'。这有可能吗?
期望的行为:
@Component({
selector: 'currency-pipe',
template: `<div>
<p>{{currency | currency:'CAD'}}</p>
</div>`
})
期望输出:CA$
如果你查看源代码:
https://github.com/angular/angular/blob/master/packages/common/src/pipes/number_pipe.ts#L205
如果输入“不是值”,你会发现管道 returns null - 如果遵循函数 returns false:
function isValue(value: number|string|null|undefined): value is number|string {
return !(value == null || value === '' || value !== value);
}
可能,实现您想要的结果的最佳方式是创建您自己的管道。查看 CurrencyPipe 的代码。最重要的片段是:
currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);
可能这就是你想要使用的。