<input>
$scope.idにバインドされたフィールドを監視する次のものがあります。入力フィールドの値が変更されるたびに、watch 関数が実行されます。
$scope.$watch("id", function (id) {
// code that does something based on $scope.id
});
ユーザーが値を変更している間、キーを押すたびにコードが実行されないように、これにタイムアウトを設定するか、_lodash でこれをデバウンスする方法はありますか?
私が望むのは、ユーザーが1秒間入力を停止した後、ウォッチ内のコードブロックが実行されるように、1秒の遅延です。入力値はいつでも変更される可能性があることに注意してください。たとえば、値が「1」または「10」または「1000」の場合に関数を呼び出す必要があります。これは、Google の検索ボックスに提案が表示される方法に似ています。ユーザーが 999 と入力した場合は、関数を呼び出す必要があります。彼が 9 を削除して 99 にした場合、関数を呼び出す必要があります。
私は _lodash を利用できるので、それを使用するソリューションが私のニーズに最も適している可能性があります。