VUE 入門 イベント処理の学習

VUE 入門 イベント処理の学習

1. 関数バインディング

イベントハンドラ関数をバインドするには、v-on:click="methodName"またはショートカット@click="methodName"を使用できます。

@click="methodName()" も OK です。@click="methodName" はおそらく省略形です。

  <div v-on:click="add">{{ count }}</div>
  <div @click="add">{{ count }}</div>
  データ() {
    戻る {
      カウント: 0,
    };
  },
  メソッド: {
    追加() {
      this.count++;
    },
  },

2. パラメータと$eventを使用する

パラメータと$eventをイベントバインディング関数に直接渡すことができます

<div @click="set(0, $event)">{{ count }}</div>
  データ() {
    戻る {
      カウント: 0,
    };
  },
  メソッド: {
    追加() {
      this.count++;
    },
    set(値、イベント) {
      console.log(イベント);
      this.count = 値;
    },
  },

3. 複数の関数を1つのイベントにバインドする

複数の関数はカンマで区切られます。関数にパラメータがない場合でも、括弧を追加する必要があります。そうしないと、関数は実行されません。

たとえば、<div @click="set(0, $event), log">{{ count }}</div>はsetのみを実行します。

<div @click="set(0, $event), log()">{{ count }}</div>
  データ() {
    戻る {
      カウント: 0,
    };
  },
  メソッド: {
    追加() {
      this.count++;
    },
    ログ(){
      console.log("ログ---");
    },
    set(値、イベント) {
      console.log(イベント);
      this.count = 値;
    },
  },

4. イベント修飾子

修飾子を使用する場合、順序が重要であり、対応するコードは同じ順序で生成されます。

<!-- クリック イベントがそれ以上伝播しないようにする -->
<a @click.stop="doThis"></a>

<!-- 送信イベントでページがリロードされなくなりました -->
<form @submit.prevent="onSubmit"></form>

<!-- 修飾子は連鎖できます -->
<a @click.stop.prevent="doThat"></a>

<!-- 修飾子のみ -->
<フォーム @submit.prevent></フォーム>

<!-- イベント リスナーを追加するときにイベント キャプチャ モードを使用する -->
<!-- つまり、内部要素によってトリガーされたイベントは最初にここで処理され、その後、内部要素に渡されて処理されます-->
<div @click.capture="doThis">...</div>

<!-- event.target が現在の要素自体である場合にのみハンドラーをトリガーします -->
<!-- つまり、イベントは内部要素からトリガーされません-->
<div @click.self="doThat">...</div>

<!-- クリック イベントは 1 回だけトリガーされ、カスタム コンポーネント イベントに使用できます -->
<a @click.once="doThis"></a>

<!-- スクロール イベントのデフォルトの動作 (つまり、スクロール動作) がすぐにトリガーされます -->
<!-- `onScroll` が完了するのを待たずに -->
<!-- これには `event.preventDefault()` の場合も含まれます -->
<!-- 特にモバイル デバイスでのパフォーマンスが向上します -->
<div @scroll.passive="onScroll">...</div>

5. キー修飾子

  • .enter
  • .tab
  • .delete ( 「削除」キーと「バックスペース」キーをキャプチャします)
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right

<!-- `key` が `Enter` の場合にのみ `vm.submit()` を呼び出します -->
<input @keyup.enter="送信" />

<!-- `key` が PageDown の場合にのみ `vm.onPageDown()` を呼び出します -->
<input @keyup.page-down="onPageDown" />

6. システム修飾キー

イベントがトリガーされたときに修飾キーを押す必要があります

  • .ctrl
  • .alt
  • .shift
  • .meta

<!-- Alt キーを押しながら Enter キーを押します -->
<@keyup.alt.enter="クリア" を入力 />

<!-- Ctrl キーを押しながらクリック -->
<div @click.ctrl="doSomething">何かする</div>

.exact 修飾子

<!-- Alt キーまたは Shift キーを同時に押した場合でも、この処理が実行されます -->
<button @click.ctrl="onClick">A</button>

<!-- Ctrl キーが押されたときにのみトリガーされます-->
<button @click.ctrl.exact="onCtrlClick">A</button>

<!-- システム修飾子が押されていない場合にのみトリガーされます-->
<button @click.exact="onClick">A</button>

マウスボタン修飾子

  <button @click.left="log('left cllilck')">マウスの左クリック</button>
  <button @click.right="log('right cllilck')">右クリック</button>
  <button @click.middle="log('middle cllilck')">中クリック</button>

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue は入力をトリガーしてファイルクリックイベント操作を選択します
  • Vue 学習ノート: ネイティブ イベントをコンポーネントにバインドする例
  • Vueイベント処理操作例の詳細な説明
  • Vueのキーボードイベントの詳細な説明
  • Vue イベントの基本的な操作をご存知ですか?

<<:  CSSはリモコンのボタンを模倣する

>>:  Docker mongoDB 4.2.1 をインストールし、Springboot ログを収集する詳細な手順

推薦する

ウェブページコンテンツの閲覧設計手法に関する議論

<br />コンテンツ ページの記事の場合、記事が長すぎる場合やカテゴリ (ランキング)...

docker CMD/ENTRYPOINT が sh スクリプトを実行する問題の解決策: not found/run.sh:

Dockerfile の設定に問題はありませんが、ENTRYPOINT コマンドを実行するとエラー...

LeetCode の SQL 実装 (183. 注文をしたことがない顧客)

[LeetCode] 183.注文しない顧客Web サイトに、Customers テーブルと Or...

CentOS7 で yum ソースをインストールし、コマンド rz と sz をアップロードおよびダウンロードする方法 (画像付き)

** CentOS7 で yum ソースをインストールし、rz および sz コマンドをアップロー...

antd+reactプロジェクトをviteに移行するためのソリューションの詳細な説明

Antd+react+webpackは、多くの場合、Reactテクノロジースタックに基づくフロントエ...

js 加算、減算、乗算、除算の正確な計算方法のサンプルコード

序文コンピュータの数値は浮動小数点であるため、計算プロセス中に取得されるデータは通常正確ではなく、そ...

Linux で XFS パーティション形式のルート ディレクトリを縮小する方法

目次序文システム環境現在のシステムパーティションレイアウトデータのバックアップレスキューモードに入る...

Linux の daily_routine サンプルコードの詳細な説明

まずサンプルコードを見てみましょう: #/bin/bash cal 日付 -u echo "...

JSは円形のプログレスバーのドラッグとスライドを実装します

この記事の例では、円形のプログレスバーのドラッグアンドスライドを実現するための具体的なJSコードを紹...

WeChatミニプログラムのすべてのページがログインされていることを確認する方法

目次現状解決さらなる解決策やっと現状WeChat ミニプログラムには、ホームページ、個人ページ、いく...

MySQL テーブルにはどのくらいの量のデータを保存できますか?

プログラマーは MySQL を扱う機会が多く、毎日触れているとも言えますが、MySQL テーブルには...

MySQLは間違ったパスワードを入力する試行回数を制御します

1. 本番環境でMySQLのデッドロックを監視し、デッドロックの可能性を減らす方法まず、デッドロック...

Linux TTY/PTS の違いの概要

キーボードで文字を入力すると、対応するプロセスにどのように送信されるのでしょうか? ps や who...

Windows10 での MySQL msi インストール チュートリアル (画像とテキスト付き)

1. ダウンロード1. MySQL msi 公式 Web サイトから最新のダウンロードをクリックす...