Ami*_*ole 11 javascript angularjs angularjs-filter
我需要从应用程序的用户那里收集一个变化率 - 百分比.这是我正在使用的文本输入:
<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>
Run Code Online (Sandbox Code Playgroud)
现在我想要的是使用一个过滤器,它取用户输入的整数量,然后将它乘以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);
}
};
});
Run Code Online (Sandbox Code Playgroud)
这种工作,但我不应该使用过滤器来完成这项任务?我该怎么做呢?