Vue で手ぶれ補正を実装するためのサンプルコード

Vue で手ぶれ補正を実装するためのサンプルコード

手ぶれ防止: 繰り返しのクリックによるイベントのトリガーを防止

まず、揺れとは何でしょうか? 震えるのは戦慄だ!最初は 1 回クリックしましたが、今は 3 回クリックしました。私の友人は頭の中に絵を描くセンスがあるのだろうか!ハハハハハハ

典型的な用途としては、ユーザーが繰り返しクリックしてデータを要求することを防ぐことが挙げられます。

Vue は次のように手ぶれ補正メソッドを実装します。

1. まず、次のように新しいdebounce.jsコードを作成します。

const デバウンス = 関数 (fn, 遅延) {
	タイマーを null にする
	関数()を返す{
		コンテンツ = this; とします。
		args = 引数とします。
		if(タイマー){
			タイムアウトをクリア(タイマー)
		}
		タイマー = setTimeout(()=>{
			fn.apply(コンテンツ、引数)
		}、 遅れ)
	}
}
デフォルトのデバウンスをエクスポートする

2. アンチシェイクが必要なvueファイルにデバウンスを導入します。内容は次のとおりです。これは入力ボックスの500msアンチシェイクです。

<テンプレート>
 <div class="main">
  <el-input v-model="input" @change="changeSeletc" placeholder="コンテンツを入力してください"></el-input>
 </div>
</テンプレート>
<スクリプト>
 「../utils/debounce」からdebounceをインポートします。
 エクスポートデフォルト{
  名前:「アラーム」、
  データ(){
   戻る {
    入力: ''
   }
  },
  方法:{
   changeSeletc:debounce(function() {
    コンソールログ(この入力)
   },500)、
  }
 }
</スクリプト>
<スタイルスコープ>
</スタイル>

3. 効果は以下のとおりです

要約する

Vue の手ぶれ補正実装に関するこの記事はこれで終わりです。Vue の手ぶれ補正に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • VUE の手ぶれ補正とスロットリングの最適なソリューションに関する簡単な説明 (機能コンポーネント)
  • Vue の最新の手ぶれ防止ソリューション (必読)
  • Vueのクリックイベントのアンチシェイクとスロットリング処理の詳細な説明
  • Vue で携帯電話番号認証のサンプルコードを実装する (手ぶれ補正機能の適用シナリオ)
  • Vue.js ページに複数の入力検索ボックスがある場合の手ぶれ補正操作を実装する方法
  • vue+element uiフレームワークにlodashのデバウンスアンチシェイクを実装する
  • Vue のアンチシェイクとスロットリングの使用に関する簡単な分析
  • Vue の Axios で複数のリクエストの複数のトリガーと終了を防ぐためのサンプル コード (アンチシェイク)
  • Vue でアンチシェイクとスロットリングを使用して、クリックの繰り返しやプルアップのインスタンスの繰り返し読み込みを防止します。
  • Vue における機能アンチシェイクスロットリングの理解と応用

<<:  uniappのグローバル変数実装の詳細な説明

>>:  ES6 における Object.assign() の使い方の詳細な説明

推薦する

DELL R730 サーバーの構成 RAID とインストール サーバー システムとドメイン制御の詳細なグラフィック チュートリアル

最近、会社で DELL R730 サーバーを購入したのですが、偶然次のチュートリアルを見つけたので、...

HTML におけるメタの役割について (インターネットから収集および分類)

W3Cschoolではこのように説明しています<meta> 要素は、検索エンジン向けの説...

Vueプロジェクトが完了した後にプロジェクトを最適化する方法の例

目次1. 開発モードとリリースモードに異なるパッケージエントリポイントを指定する2. 外部CDNリソ...

スクリプトを使用して、ワンクリックでDockerイメージをパッケージ化してアップロードします。

著者は1年以上マイクロフロントエンドプロジェクトに取り組んできました。チームは10個のマイクロアプリ...

JS 正規マッチングの落とし穴の記録

最近、JS の正規表現マッチングの落とし穴を発見したのですが、その時はあまりにも奇妙だったので、何か...

Nexus サーバーを設定するための詳細な手順

1. ネクサスサービス構築の意義イントラネットの統合プロキシとして、チームで共同開発する場合、全員が...

Vue はボタンをクリックしてファイルをダウンロードする操作コードを実装します (バックエンド Java)

前回の記事では、ボタンをクリックしてファイルをダウンロードするVueの機能を紹介しました。今日は、ボ...

エレメントアバターアップロード練習

この記事は、Element公式サイトとQiniu Cloud公式サイトを使用しています。 eleme...

Dockerは複数のポートマッピングコマンドを有効にします

次のように: docker run -d -p 5000:23 -p 5001:22 --name ...

MySQLの日次統計レポートでは、その日にデータがない場合には0が入力されます。

1. 問題の再現:各日の合計数を日ごとにカウントします。データのない日がある場合、グループ化によっ...

h1、h2、h3タグを適切に使用する

Web ページを作成する過程では、<h1>、<h2>、<h3> ...

よくあるNginxの設定ミスの例

目次ルートの場所が見つかりませんオフバイスラッシュ安全でない変数の使用スクリプト名$uri を使用す...

Vueは小さなフォーム検証機能を実装します

この記事では、フォーム検証を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は...

win10 での mysql 8.0.16 winx64 インストールの最新グラフィック チュートリアル

このデータベースをダウンロードするには、多くの時間とトラフィックがかかります。踏み込んだ落とし穴で時...

HTML ページ適応幅テーブル

WEB アプリケーションのページでは、テーブルがよく使用されます。列の数が限られているため、各列のコ...