$ watch的替代品

马塞诺

我有一条指令,使用正则表达式验证输入值。现在,我使用$ watch检查输入值是否已更改,但是由于性能原因,我想尝试另一种方法。

scope.$watch(attrs.ngModel, function (inputValue) {
     formatter(inputValue);
});

格式化程序功能仅通过正则表达式检查输入值是否有效,并调用$ setValidity()

我尝试使用$ parsers,但发现更改输入值时,该值未直接验证,如下所示:

modelCtrl.$parsers.push(formatter);
    if (scope[attrs.ngModel] && scope[attrs.ngModel] !== '') {
        formatter(scope[attrs.ngModel]);
    }

输入值更改后,有什么方法可以立即验证输入?

鲁帕特尔
  1. 如果您具有用于验证的自定义指令,请使用$ asyncvalidators

角官方指南

关于如何使用asyncvalidators的好文章

  1. ng-pattern可直接用于标记的正则表达式验证

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章