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

推薦する

mysql 8.0.18.zip のインストールと構成方法のグラフィック チュートリアル (Windows 64 ビット)

以前にインストールされたバージョンのデータベースをアンインストールする方法については、この記事を参照...

Reactにおける制御されたコンポーネントと制御されていないコンポーネントの簡単な分析

目次制御されていないコンポーネント制御コンポーネント知らせ結論は制御されていないコンポーネントフォー...

CSS における z-index: 0 と z-index: auto の違い

最近、スタック コンテキストについて学習しています。学習の過程で、z-index が 0 の場合と ...

CentOS 6.9 で glibc ダイナミック ライブラリをアップグレードする詳細なプロセス

glibc は、gnu によってリリースされた libc ライブラリ、つまり c ランタイム ライブ...

Ace をベースにした Markdown エディターを共有する

エディターは 2 つのカテゴリに分かれていると思います。1 つは、即時レンダリングを実現するために左...

Linux コマンドラインでメールを送信する 5 つの方法 (推奨)

シェル スクリプトで電子メールを作成する必要がある場合は、コマンド ラインから電子メールを送信する知...

WINDOWS での MYSQL のインストールに関する詳細なチュートリアル

1. インストールパッケージをダウンロードする- お使いのコンピュータシステムに応じて適切なバージョ...

VMware 仮想マシンに Android x86 をインストールする方法

アプリをテストしたいが、それを携帯電話で実行したくない場合があります。この場合、仮想マシンを使用して...

vue3 でブロック崩しゲームを開発する方法をステップバイステップで教えます

序文vue3 を使った例をいくつか書いてみましたが、Vue3 のコンポジション API はよく設計さ...

Linuxロスレス展開方法

概要クラウド プラットフォームのお客様のサーバーでは、業務量が拡大し続けるとディスク容量が不足する場...

Win10 DVWA のダウンロード、インストール、構成のグラフィック チュートリアルの詳細な説明 (初心者向け学習侵入)

コンピュータ システムが再インストールされ、侵入テスト学習環境 DVWA を再インストールする必要が...

仮想マシンに Windows Server 2008 オペレーティング システムをインストールする

この記事では、Windows Server オペレーティング システムのインストールと企業でのそのア...

MySQLインデックスの失敗の典型的なケース

目次典型的なケース付録: 一般的なインデックス障害の状況典型的なケース次の構造を持つ 2 つのテーブ...

JavaScript による省・市連携効果の実現

この記事では、省と都市間の連携効果を実現するためのJavaScriptの具体的なコードを参考までに共...

DockerコンテナでのMySQLデータのインポート/エクスポートの詳細な説明

序文MySQL データのインポートとエクスポートは mysqldump コマンドで解決できることは誰...