用于货币的自定义html - 过滤器还是指令?

时间:2015-08-16 02:37:55

标签: javascript angularjs filter ionic directive

我已经获得了一个用户体验设计,它将货币符号显示为灰色,十进制值显示为黑色。为了实现这一点,我做了一些谷歌搜索并最终制作了一个简单的过滤器:

.filter('tnCurrency', ['$filter', function($filter) {
    return function(input, symbol, decimal) {
        var amt = $filter('currency')(input, '', decimal);

        return  '<span class="tn-currency-symbol">' + symbol + '</span><span class="tn-currency-amt">' + amt + '</span>';       
    };
}]);

用法:

<span ng-bind-html="total.amt | tnCurrency:'$':2"></span>

我已经考虑了一段时间......这应该更好地作为指令实施还是应该坚持使用过滤器?

1 个答案:

答案 0 :(得分:1)

操作DOM时,指令更合适,而过滤器更适合转换值。

我创建了一个使用货币过滤器的指令。

这是when to use a directive vs when to use a filter上的一个好主题。