Angular应用中currency货币管道无值时如何默认使用GBP
Angular currency管道设置默认货币为GBP的方案
你可以直接在currency管道的货币代码参数位做空值 fallback 处理即可,实现代码如下:
修改后的模板代码
<span>{{ legal?.highestTransactionValue | currency : (legal?.company?.corporateCreditReport?.creditLimit?.currency ?? 'GBP') : 'symbol' : '1.0-0' }}</span>
方案说明
- 核心用了JavaScript的空值合并运算符
??:当左侧的货币取值路径返回null/undefined这类无效值时,会自动回退到右侧的'GBP'作为默认货币代码传入currency管道。 - 如果你使用的是Angular 12以下的旧版本,模板还不支持
??语法,可以替换为逻辑或运算符||,写法为:legal?.company?.corporateCreditReport?.creditLimit?.currency || 'GBP',同样可以实现默认值效果。 - 外层加小括号是为了避免模板表达式解析优先级问题,保证 fallback 逻辑先执行完成后再传入管道。
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

