angularjs – 用于舍入十进制数的Angular指令

前端之家收集整理的这篇文章主要介绍了angularjs – 用于舍入十进制数的Angular指令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Angular是否有内置指令来舍入输入值?

在这种情况下,数字过滤器是不合适的,因为我也想在ng-model中舍入实际的val.
如果我要写一个,它会是什么样的?

您可以使用指令创建双向绑定转换.这是一个简单的例子:
app.directive('roundConverter',function() {
  return {
    restrict: 'A',require: 'ngModel',link: function(scope,elem,attrs,ngModelCtrl) {
      function roundNumber(val) {
        var parsed = parseFloat(val,10);
        if(parsed !== parsed) { return null; } // check for NaN
        var rounded = Math.round(parsed);
        return rounded;
      }
      // Parsers take the view value and convert it to a model value.
      ngModelCtrl.$parsers.push(roundNumber);
   }
 };
});

http://plnkr.co/edit/kz5QWIloxnd89RKtfkuE?p=preview

这实际上取决于你希望它如何工作.它应该限制用户输入吗?你介意模型和视图值有所不同吗?模型上的无效数字输入是否为空?这些都是您做出的决定.上面的指令将无效数字转换为null.

原文链接:https://www.f2er.com/angularjs/142445.html

猜你在找的Angularjs相关文章