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

推薦する

テーブルタグ(TAGS)の詳細な紹介

テーブルの基本構文<table>...</table> - テーブルを定義し...

InnoDBのインデックスページ構造、挿入バッファ、適応ハッシュインデックスについての簡単な説明

InnoDB インデックスの物理構造すべての InnoDB インデックスは Btree インデックス...

Typescriptを使用してWeChatミニプログラムでプロジェクトを作成する方法

プロジェクトを作成するWeChat開発者ツールでプロジェクトを作成し、言語でTypeScriptを選...

MySQLが日付フィールドインデックスを使用しない理由の要約

目次背景探検する要約する背景テーブルでは、dataTime フィールドは varchar 型に設定さ...

【Webデザイン】E-WebTemplates の美しい海外の Web ページ テンプレート (FLASH+PSD ソース ファイル+HTML) を共有します

これらはすべて海外のE-WebTemplates WebサイトからのWebページテンプレートであり、...

Centos7 への MySQL8 のインストールチュートリアル

MySQL 8 の新機能: MySQL をバージョン 5.x から 8.x に直接アップグレードする...

Apache SkyWalking アラーム設定ガイドの詳細な説明

アパッチ スカイウォーキングApache SkyWalking は、マイクロサービス、クラウド ネイ...

CSSを使用して3Dフォトウォール効果を作成する

CSS を使用して 3D フォト ウォールを作成します。具体的なコードは次のとおりです。 <!...

CSSの2つの特別な値は、カスケードの継承と初期メソッドを制御するために使用されます。

カスケードを制御するために CSS の任意のプロパティに割り当てることができる特別な値が 2 つあり...

Ubuntu 18.04 でソースコードから Odoo14 をインストールするチュートリアル

目次このシリーズの背景概要PostgreSQL データベースの準備ソースからインストール仮想環境の作...

MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル (Ubuntu 16.04)

公式 MySQL Web サイトから Ubuntu Linux 用の最新バージョンの MySQL を...

UTF-8 および GB2312 ウェブエンコーディング

最近、多くの学生から Web ページのエンコーディングについて質問を受けています。gb2312 と ...

シンプルな画像切り替えを実現するJavaScript

この記事では、JavaScriptで簡単な画像切り替えを実現するための具体的なコードを参考までに紹介...

IE8はマルチ互換モードを使用してWebページを正常に表示します

IE8には複数の互換モードがあります。 IE プラットフォームの設計者である Chris Wilso...

JavaScriptアップロードファイル制限パラメータケースの詳細な説明

プロジェクトシナリオ: 1. アップロードファイルの制限関数: 1. フロントエンド操作による異常な...