Мне нужно получить скорость изменения — в процентах — от пользователей моего приложения. Вот ввод текста, который я использую:
<label for="annual-change" class="pt-underline"> I am anticipating
<input id="annual-change" ng-model="calc.yrChange" type="text" placeholder="0" /> % of growth annually.<br><br>
</label>
Теперь я хочу использовать фильтр, который принимает целое число, введенное пользователем, и преобразует его в процентное значение, умножая его на 0.01
или разделив на 100
прежде чем я отправлю его контроллеру для расчетов
Но я никак не могу понять, где разместить фильтр и как его зацепить. Итак, я попробовал это с такой директивой:
app.directive("percent", function($filter){
var p = function(viewValue){
console.log(viewValue);
var m = viewValue.match(/^(\d+)/);
if (m !== null)
return $filter('number')(parseFloat(viewValue)/100);
};
var f = function(modelValue){
return $filter('number')(parseFloat(modelValue)*100);
};
return {
require: 'ngModel',
link: function(scope, ele, attr, ctrl){
ctrl.$parsers.unshift(p);
ctrl.$formatters.unshift(f);
}
};
});
Это работает, но разве я не должен использовать фильтр для этой задачи? Как мне это сделать?
filtering
, поэтому я думал, что форматирование, преобразование и т. д. должны быть в фильтрах - person Amit Erandole   schedule 27.06.2013