是否可以使用沒有實際金額/價值的貨幣管道?
在https://angular.io/api/common/CurrencyPipe 中使用值:
@Component({
selector: 'currency-pipe',
template: `<div>
<!--output 'CA$0.26'-->
<p>{{a | currency:'CAD'}}</p>
</div>`
})
export class CurrencyPipeComponent {
a: number = 0.259;
b: number = 1.3495;
}
輸出: CA$0.26
但是,我需要輸入“CAD”并輸出“CA$”。這有可能嗎?
期望的行為:
@Component({
selector: 'currency-pipe',
template: `<div>
<p>{{currency | currency:'CAD'}}</p>
</div>`
})
期望輸出: CA$
uj5u.com熱心網友回復:
如果您查看源代碼:
https://github.com/angular/angular/blob/master/packages/common/src/pipes/number_pipe.ts#L205
如果輸入“不是值”,您會發現管道回傳 null - 如果以下函式回傳 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);
可能這就是你想要使用的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/332657.html
上一篇:升級到Angular11后擴展DecimalPipe的問題
下一篇:每次更改輸入后如何不創建流?
