TypeError:使用angular自定义指令时无法读取未定义的属性'replace'

时间:2017-04-27 14:19:19

标签: javascript jquery angularjs

浏览器在使用angular指令时告诉类型错误替换功能。

HTML:

指令: finalize_messaging.directive('format',['$ filter',function($ filter){     返回{         要求:'?ngModel',         link:function(scope,elem,attrs,ctrl){             if(!ctrl)return;

        ctrl.$formatters.unshift(function (a) {
            var plainNumber = ctrl.$modelValue.replace(/[^\d|\-+|\.+]/g, '');
            return $filter(attrs.format)(plainNumber,"",0)
        });

        elem.bind('keypress keyup blur', function(event) {
        //      elem.val((elem.val().replace(/[^\d].+/, "")));
        // var charCode = (event.which) ? event.which : event.keyCode
        // if (charCode > 31 && charCode != 46 && charCode != 37 &&
        //     charCode != 39 && (charCode < 48 || charCode > 57))
        //     return false;
        var plainNumber = elem.val().replace(/[^\d|\-+|\.+]/g, '');
        elem.val($filter(attrs.format)(plainNumber,"",0));
        // return true;

        });

    }
};

}]);

此句子中出现错误“var plainNumber = ctrl。$ modelValue.replace(/ [^ \ d | - + |。+] / g,'');”

有什么问题吗? 验证了很多。 无法清除任何人可以帮助解决这个问题。

0 个答案:

没有答案