私は人からinput
を受け入れて検索パラメータを作成する小さなweb-appを持っています。私はng-change
関数をデバウンスして検索を実行するためにng-model-options
を使用しています。DRY up ng-model
私は(そこに3つのアイコンです - up-down
、up
、およびdown
はsort_fieldためとSORT_ORDERはng-class
を使用して表示)ソートユーザーをすることができますテーブルの上に列名の隣の小さな矢印を持っています。私はそれらに変更を登録し、デバウンスを使用して少し遅れて検索を実行したいと思います。問題は、ng-model
を使用して特定のパラメータをそれらのアイコンにバインドする方法がわかりません。誰かがソートアイコンを叩いてサーバやブラウザをクラッシュさせたくない。
私はむしろ、search_param
オブジェクトを見て、変更されたときに500ミリ秒後に検索を開始すると言うページ上に1つの場所を持っています。このようにして、入力フィールドまたはソート選択のいずれかが、ユーザがそれらの編集を終了したときに呼び出され、これらのパラメータがそれらのパラメータをエンドポイントに送るトリガとなる。
これを行うにはAngularJSの戦略は何ですか?現在、すべての入力フィールドはsearch_param
オブジェクトのフィールドをバインドし、変更時にデバウンスするにはng-model-options
になります。これは多くの繰り返しコードです。
あなたはどこにでも 'NG-change'に同じ機能を使用していますか?その場合、 '$ timeout'を使うことができます。もしキューに検索がなければ' $ timeout'で検索を開始することができます。もしあれば、 '$ timeout'をキャンセルして新しいものを開始してください。 –