Angular是否有内置指令来舍入输入值?
在这种情况下,数字过滤器是不合适的,因为我也想在ng-model中舍入实际的val.
如果我要写一个,它会是什么样的?
您可以使用指令创建双向绑定转换.这是一个简单的例子:
原文链接:https://www.f2er.com/angularjs/142445.htmlapp.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.