清除输入字段内容,其中包含angularjs中货币格式的指令

时间:2017-06-19 09:05:06

标签: javascript angularjs

这是我第一次使用并尝试学习角度和打字稿时,我有一个输入字段,我想使用货币格式指令,我搜索并找到了正确的指令但是当用户想要删除时输入数字和使用退格按钮,删除输入数字后,0将显示在输入中,然后用户必须再次按退格键清除输入字段,我发现$filter(number)正在执行此操作,我使用简单的代码防止这种情况 这是我的代码

mymodule.directive("currency", function($filter) {
"use strict";

return {
    require: "?ngModel",
    link: function(scope, elem, attrs, ctrl) {
        if (!ctrl) {
            return;
        }

        ctrl.$formatters.unshift(function() {
            return $filter("number")(ctrl.$modelValue);
        });

        ctrl.$parsers.unshift(function(viewValue) {
            var num= viewValue.replace(/[\,\.]/g, ""),
                b = $filter("number")(num);
           // i add this if to check if the value is zero don't show  in           input
            if (b == 0) {
                elem.val("");
            } else {
                elem.val(b);
            }


            return num;
        });
    }
};
})

但我不确定这是个好主意。 有没有其他方法可以达到我的目的?

0 个答案:

没有答案