链式角货币过滤器中本地货币的关键字是什么? (没有自定义指令)

时间:2017-01-28 02:48:05

标签: angularjs view

我查看了文档,但找不到我要找的答案。 我也知道我可以制作一个自定义过滤器来处理这个用例,但我想避免这样做。

我的目标是显示没有小数位的货币结果,但也使用默认/本地货币类型。 也就是说,我不想指定特定类型的货币,我只是喜欢默认类型。

我知道如果我提供明确的货币类型(例如| currency: "$" : 0),我可以将数字过滤器和货币过滤器连在一起,但是,我不能假设哪个国家/地区

(我注意到如果我输入任何没有引号作为参数的废话,它都会起作用。即 - 'foobar'在下面。我不想使用废话,但是,我我想以正确的方式去做。)

<span>
    {{ctrl.totalSum | currency: foobar : 0}}
</span>

到目前为止,我尝试过:null"null"local"local""""undefined"和空内容。我似乎无法确定哪个正确的关键字表示我想要默认值。

1 个答案:

答案 0 :(得分:0)

经过进一步研究,似乎我可以使用undefined作为参数,如MDN所述:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined

它似乎是一种可以传入的原始类型。 以下语法对我有用:

<span>
       {{ctrl.totalSum | currency: undefined : 0}}
</span>

查看基本角度库后,我看到有一个检查是否未定义此参数。通过传入一个原始的未定义类型,它会提示本地符号逻辑:

    return function(amount, currencySymbol){
        if (isUndefined(currencySymbol)) currencySymbol = formats.CURRENCY_SYM;
            return formatNumber(amount, formats.PATTERNS[1], formats.GROUP_SEP, formats.DECIMAL_SEP, 2).
            replace(/\u00A4/g, currencySymbol);

}; }