加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 07:34:50 所属栏目:安全 来源:网络整理
导读:Angular是否有内置指令来舍入输入值? 在这种情况下,数字过滤器是不合适的,因为我也想在ng-model中舍入实际的val. 如果我要写一个,它会是什么样的? 您可以使用指令创建双向绑定转换.这是一个简单的例子: app.directive('roundConverter',function() { retu
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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读