javascript - 在 if 语句中使用 Angular Pipe
问题描述
如何在速记 if 语句中使用自定义管道?
这是我尝试使用的代码
<h1>Total Value {{data ? totalValue | moneyFormat : '$0'}}
这是我得到的错误
Template parse errors:
Parser Error: Conditional expression data ? totalValue | moneyFormat : null requires all 3 expressions at the end of the expression
所以基本上我已经建立了一个格式化货币的管道,这是我的管道
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({name: 'moneyFormat'})
export class MoneyFormatPipe implements PipeTransform {
transform(value: number) {
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
});
let formattedValue = formatter.format(value);
formattedValue = formattedValue.slice(0, -3);
return formattedValue;
}
}
现在我知道这是可行的,因为我在其他场景中使用过
<p>This is your dollar amount {{dollarAmount | formatMoney}}
我错过了什么吗?我做错了吗?
请记住,为了简单起见,我所做的只是一个示例,而不是条件语句的真正功能。我完全知道我可以使用管道返回 0 美元。
解决方案
我认为你需要用括号括起来一些部分:
{{data ? (totalValue | moneyFormat) : '$0'}
推荐阅读
- r - 为什么在我的计算机上使用 R 从 GitHub 检索文件突然变得如此缓慢?
- javascript - 我如何创建一个总和并从数据库值显示它?
- ios - Swift 的闭包中的 $1 ++ $0 是什么意思?
- javascript - First Accordion 始终在手机中打开
- ios - Swift - 概念性、类型检查时间问题
- sql - 使用 SELECT * 创建表并包含触发器定义 - oracle
- power-automate - 使用 GET 方法和 GetByTitle URI 向 SharePoint 发送 HTTP 请求
- pandas - pandas 到 numpy 矩阵的转换会丢弃列
- ios - 在快速图表中获取圆的位置
- ios - iOS中的图像差异以获得百分比差异