fxc*_*xck 12 javascript currency angularjs
你可以用角度做这样的事吗?

这样做是不可能的,因为不解析标签或其他东西
{{ 10000 | currency:"<span>$</span>" }}
http://plnkr.co/edit/WluYoe2Ltmhmhvr8BBWX?p=preview
更别说单独的十进制数了..
理想的结果是
1 000 000<span class="dec">,00</span><span class="cur">€</span>
它不是真的可以用任何过滤器设置吗??
我可以尝试修改角度的货币过滤器和formatNumber函数,但它仍然会将其作为文本而不是span元素.
//编辑你实际上可以这样做http://plnkr.co/edit/dcEhHi8sp43564ZvC4D1?p=preview
<p ng-bind-html-unsafe="10000 | currency:'<span>$</span>'"></p>
但仍然对小数无能为力
zs2*_*020 13
您可以创建自定义过滤器
app.filter('euro', function () {
return function (text) {
text = text.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1 ");
var t = text + '<span class="desc">,00</span><span class="cur">€</span>';
return t;
};
});
<span ng-bind-html-unsafe="1000000 | euro"></span>
Run Code Online (Sandbox Code Playgroud)
结果将是
1 000 000,00€
Run Code Online (Sandbox Code Playgroud)
(正则表达式由@Paul Creasey在他的回答中发布/sf/answers/139338811/)
实际上可以做到这一点
<p ng-bind-html-unsafe="10000 | currency:'<span>$</span>'"></p>
或者像这样将它包裹在本机货币过滤器周围
app.filter('currencys', ['$filter', '$locale',
function($filter, $locale) {
return function (num) {
var sym = $locale.NUMBER_FORMATS.CURRENCY_SYM;
return $filter('currency')(num, '<span>'+ sym +'</span>');
};
}
]);
Run Code Online (Sandbox Code Playgroud)
然后像这样使用它
<span ng-bind-html-unsafe="10000 | currencys"></span>
| 归档时间: |
|
| 查看次数: |
15962 次 |
| 最近记录: |