javascript – AngularJS:我应该使用过滤器将整数值转换成百分比吗?

前端之家收集整理的这篇文章主要介绍了javascript – AngularJS:我应该使用过滤器将整数值转换成百分比吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要从我的应用程序的用户那里收取百分比的变化率.这是我使用的文本输入:
<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);
      }
    };
});

这种作品,但是不应该使用过滤器来完成这个任务?我该怎么做?

解决方法

那么你只是用ctrl $parser和ctrl $formatter来做到这一点
你可以省略$过滤器的东西,它不需要在那里.
Just check it out他们也不用过滤器.

猜你在找的JavaScript相关文章