私は現在、検索ボックスの値であるモデルを持っています。検索操作は完璧に実行されていますが、検索テキストが変更されたときに実行されるさらに別の機能も必要です。だから私はモデル変数listener
を追加したい。watch
どうすればいいですか?
質問する
35424 次
1 に答える
44
ユースケースをカバーする 2 つのオプションがあります。
ng-changeディレクティブを使用する
入力は次のように記述できます。
Search: <input ng-model="search.model" ng-change="changeHandler()">
ここで、changeHandler
はスコープで定義された関数です。
スコープでウォッチを使用する
コントローラーに次のように記述します。
$scope.$watch('search.model', function(newVal, oldVal){
console.log("Search was changed to:"+newVal);
$scope.search.watch = newVal;
});
両方を説明する作業プランクを次に示します。
2 つのアプローチの違いは、ng-change
ユーザーが入力を反復した結果としてのみ起動するのに対し$watch
、入力コントロールまたはモデルへのその他の変更からトリガーされたモデル ミューテーションに対して起動することです。そのため、反応したいイベントを正確に選択できます。
于 2013-03-02T14:06:34.577 に答える