货币管道应该足够智能,以便自动处理 string
, float
, int
等 .
如果传递的值是 string
或不是 int
或 float
,它应该什么也不做,并按原样显示传递的值 . 并且只显示格式化的值,如果它是 int
或 float
.
它发生在angularJs但没有发生角度(2)
如果告诉货币管道 string
并且如果它的 decimal
值进行货币格式化,如何告诉它 . 我期待下面的东西 .
示例
<div>Money:{{'xxx/vv/cc' | currency:'USD':true:'1.2-2'}}</div>
应显示 xxx/vv/cc
<div>Money: {{''11.99'' | currency:'USD':true:'1.2-2'}}</div>
应显示 $11.99
- 包含$符号 .
但它没有发生 . 我得到的错误是 caused by: Invalid argument 'Included' for pipe 'CurrencyPipe'
我认为它默认发生在angularjs中,但在angular2中它不会发生defalut .
2 回答
The manual明确声明它接受数字表达式而不是其他:
管道是really simple,可以扩展和使用而不是
CurrencyPipe
以符合预期的行为:要创建具有不同名称的新管道,可以将
CurrencyPipe
注入自定义管道:为了通过DI注入
CurrencyPipe
,还应该向模块提供者添加:当
a
为真时,您可以使用三元运算符a ? b : c
来显示b
,否则显示c
.首先在组件中有一个函数,当值为数字时,该函数返回
true
.component
然后使用它来确定是将值发送到货币管道还是直接打印
template
live demo