こんにちは。ここで質(zhì)問に答えるのは初めてなので、お?dú)葺Xに答えを修正してください。大変感謝しています。 最も美しく軽量な解決策は、すべてのフォームでランダムに使用できるディレクティブをグローバルに作成することだと思います。
まず、ディレクティブを含むファイルを作成します。 debouncer.js
続いて手ぶれ補(bǔ)正機(jī)能を作成します
リーリーこのファイルを定義した後、main.js に移動(dòng)してファイルをインポートし、エクスポートされた関數(shù)を使用できます。
リーリーこれで、入力ボックスでディレクティブを使用したい場(chǎng)合は、次のように実行するだけで済みます。インポートなどは必要ありません。
リーリーv-model.lazy ディレクティブは、この方法を選択した場(chǎng)合に非常に重要です。デフォルトでは、入力イベントでバインドされたプロパティが更新されますが、このディレクティブを設(shè)定すると、変更イベントを待機(jī)することになります。手ぶれ補(bǔ)正機(jī)能で発行するイベント。これを行うと、入力を停止するか、タイムアウトが経過するまで (ディレクティブの値で設(shè)定可能)、v-model の自動(dòng)更新が停止されます。 それが明確になることを願(yuàn)っています。
テンプレート內(nèi)のバインディングを確認(rèn)したかったため、満足のいく解決策が見つからなかったので、解決策を共有することにしました。単純なデバウンス関數(shù)を作成し、次の構(gòu)文を使用して動(dòng)作をバインドしました。 リーリー
テンプレートの構(gòu)文は次のとおりです:リーリー