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 ログを収集する詳細な手順

推薦する

Docker 経由で CentOS コンテナを作成する手順

目次序文コンテナ間の通信を容易にするためのブリッジネットワークを作成するCentOS7イメージを使用...

弾幕効果を実現するためのjQuery

この記事では、弾幕効果を実現するためのjQueryの具体的なコードを参考までに共有します。具体的な内...

SQL重複排除方法の概要

SQL を使用してデータを抽出する場合、テーブル内で重複した値に遭遇することがよくあります。たとえ...

Vue+Echart 棒グラフで疫病データ統計を実現

目次1. まずプロジェクトにechartsをインストールします2. echartsに縦棒グラフテンプ...

Mac に Windows サービスを備えた仮想マシンをインストールする方法

1. 仮想マシンをダウンロードする公式ダウンロードウェブサイト: https://www.vmwar...

LeetCode の SQL 実装 (175. 2 つのテーブルの結合)

[LeetCode] 175.2つのテーブルを結合する表: 人物+-------------+--...

Vue はチャット ボックスで絵文字を送信する機能を実装します

vueチャットボックスで絵文字を送信し、vueインターフェースで絵文字を送信するための具体的なコード...

Win10でIIS10を構成し、ASPプログラムのデバッグをサポートする手順

マイクロソフトIIS (Internet Information Server) は、Microso...

CSS3のtext-fill-colorプロパティの詳細な説明

text-fill-color とは何を意味しますか?文字通りの意味から言えば、「テキストの塗りつぶ...

パフォーマンス負荷診断にMySQLシステムデータベースを使用する方法

ある達人がかつて、自分の妻のことを知るのと同じくらい、自分が管理するデータベースのことを知るべきだと...

Nginx ドメイン名 SSL 証明書の構成 (Web サイトの http を https にアップグレード)

序文HTTP と HTTPS日常生活でよく使われる URL は、おおまかに次の 2 種類に分けられま...

MySQLトリガーの使用と注意すべき点

目次トリガーについてトリガーの使用トリガーを作成するトリガーを表示トリガーの削除使用上の注意新旧の違...

MySQL インデックス失敗の原理

目次1. インデックス失敗の理由2. インデックスの秩序が崩れる状況を見てみましょう。 - インデッ...

Win10 システムに MySQL8.0.13 をインストールする際の問題と解決策

オペレーティングシステム: Windows10 MySQL バージョン: 8.0.13-winx64...

スクラッチ宝くじの例を実現する JavaScript キャンバス

この記事では、スクラッチ効果を実現するためのJavaScriptキャンバスの具体的なコードを参考まで...