http://jsfiddle.net/x3azn/s7gFD/1/
ユーザー入力をフィルター処理するフィルターがありますが、3 回または 2 回に 1 回、ボックスに文字を入力すると通過します。意味が分からない場合は、次のように入力してみてください。
ddd
asdfgg
vckzvdd
qwertt
メッセージが届くことを願っています。入力しても表示されません
dfadfasdf,
これは良いことですが、仮定することはできません。
http://jsfiddle.net/x3azn/s7gFD/1/
ユーザー入力をフィルター処理するフィルターがありますが、3 回または 2 回に 1 回、ボックスに文字を入力すると通過します。意味が分からない場合は、次のように入力してみてください。
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
}
});