Parsing 如何使用角度过滤器过滤按键字符

Parsing 如何使用角度过滤器过滤按键字符,parsing,angularjs,filter,Parsing,Angularjs,Filter,我有一个过滤器可以过滤用户输入,但是每三次或两次过滤一次,如果你在框中键入一个字母,它就会通过。如果你不明白我的意思,试着键入以下内容 ddd asdfgg vckzvdd qwertt 希望你能得到这个信息。 如果你打字,它就不会出现 dfadfasdf, 这很好,但我们不能假设。由于某些原因,您的解析器不会在重复按键时执行。因此,如果您键入“aa”或“bb”或“cc”,则在解析器从未运行的情况下,框中会留下“a”、“b”或“c”。我真的无法回答为什么会发生这种情况,但我可以提出一个替代

我有一个过滤器可以过滤用户输入,但是每三次或两次过滤一次,如果你在框中键入一个字母,它就会通过。如果你不明白我的意思,试着键入以下内容

ddd
asdfgg
vckzvdd
qwertt
希望你能得到这个信息。 如果你打字,它就不会出现

dfadfasdf, 

这很好,但我们不能假设。

由于某些原因,您的解析器不会在重复按键时执行。因此,如果您键入“aa”或“bb”或“cc”,则在解析器从未运行的情况下,框中会留下“a”、“b”或“c”。我真的无法回答为什么会发生这种情况,但我可以提出一个替代方案:

是否有将过滤器与此指令耦合的原因?仅使用指令就可以轻松完成相同的任务,而且(对我来说)它看起来更干净:

app.directive('filteredInput', function($filter){
    var dirLink = function(s,e,a,c){
        console.log(s);
        console.log(a);
        s.$watch(a.ngModel, function(v) {
            //if (pattern.indexOf('numbers') != -1){
               s[a.ngModel] = s[a.ngModel].replace(/[^\d.]/g, "");
           //}
        });
    }
    return{
        require: 'ngModel',
        scope: true,
        link: dirLink
    }
});

是的,我计划在许多其他领域重复使用这段代码,尽管这可以通过服务来完成。我还想知道是否有可能用这种方式过滤掉空格。