【发布时间】:2015-10-21 17:44:49
【问题描述】:
我正在使用https://github.com/lgalfaso/angular-dynamic-locale 在运行时更改语言环境。这适用于所有货币符号等,但我也希望能够转换货币金额。
我写了一个过滤器:
angular.module('kitchenapp.filters')
.filter('convert', ['CURRENCIES', 'tmhDynamicLocale', '_', function (CURRENCIES, tmhDynamicLocale, _) {
var currentLocale = tmhDynamicLocale.get();
var currency = _.find(CURRENCIES, {code: currentLocale});
var conversionRate = currency.rate;
return function (value) {
return value * conversionRate;
};
}]);
我在 html 中这样应用它:
<p>{{vm.testAmount | convert | currency:undefined:2 }}</p>
正如我所说,当我更改语言环境时,货币符号会更改,但不会运行转换过滤器。如果我将它放在货币过滤器的上游,它将运行,但那是双重处理以去除货币符号和分隔符等。有没有办法避免这种情况并在语言环境更改时让转换过滤器也运行?
【问题讨论】: