Я создал простой фильтр для форматирования числа, основываясь на текущей локали.AngularJS: Применить фильтр к шаблону
angular.module('myApp').filter('doubleFilter', DoubleFilter);
function DoubleFilter($translate) {
return function(val, decimalPlaces) {
if (val && (typeof val === 'number')) {
val = val.toFixed(decimalPlaces);
if ($translate.use() === 'de_DE') {
val = val.replace('.', ',');
}
}
return val;
}
};
Я называю этот фильтр в моем шаблоне, как это и она отлично работает:
{{dog.weight | doubleFilter : 2}}
Однако, когда я изменить язык с помощью $ translate.use («en_US») формат чисел в мой шаблон не обновляется. Очевидно, что я упускаю что-то здесь.
Как я могу обновить представление, когда изменения языка?
Hi Tusahr, спасибо за ответ. Теперь я могу прослушать это событие, но не могли бы вы немного рассказать о том, «как выполнить фильтр»? – Paul
@Paul, добавить область. $ Digest(), чтобы снова выполнить фильтр – Tushar