Vue v-onディレクティブの使用について

Vue v-onディレクティブの使用について

1. イベントのリスニング

v-onディレクティブを使用すると、 DOMイベントをリッスンし、トリガーされたときにJavaScriptコードを実行できます。イベント コードは v-on の直後に配置することも、関数として記述することもできます。

サンプルコードは次のとおりです。

<div id="アプリ">
  <p>{{カウンター}}</p>
  <button @click="counter += 1">+1</button>
  <button @click="減算(10)">-10</button>
</div>
<スクリプト>
  constアプリ = 新しいVue({
    el: "#app",
    データ: {
      カウンター: 0
    },
    メソッド: {
      減算(値){
        this.counter -= 値
      }
    }
  })
</スクリプト>
 

2. イベントパラメータを渡す

イベント処理関数でネイティブDOMイベントを取得する場合は、 htmlコードで呼び出すときに$eventパラメータを渡すことができます。

サンプルコードは次のとおりです。

<button v-on:click="subtract(10,$event)">10 を引く</button>
...
<スクリプト>
...
メソッド: {
    減算: 関数(値,イベント){
        this.count -= 値;
        console.log(イベント);
    }
}
...
</スクリプト>
 

3. イベント修飾子

イベント ハンドラーでevent.preventDefault()またはevent.stopPropagation()を呼び出すことは、非常に一般的な要件です。メソッド内でこれを簡単に実行できますが、 DOMイベントの詳細を処理するのではなく、メソッドに純粋なデータ ロジックを持たせる方が適切です。

この問題を解決するために、 Vue.js v-onのイベント修飾子を提供します。前述したように、修飾子はコマンドサフィックスの先頭のドットで示されます。

  • .stop: event.stopPropagationは、イベントのバブリングを停止します。
  • .prevent: event.preventDefault 、デフォルトの動作を防止します
  • .capture: イベントキャプチャ。
  • .self: 現在クリックされている要素自体を表します。
  • .once: このイベントは 1 回だけ実行されます。
  • .passive: ページのスクロール時にデフォルトの動作を妨げないようにブラウザに指示し、スクロールをスムーズにします。

ケース1: クリックイベントがさらに伝播するのを防ぐ

<div id="アプリ">
  <div @click="divClick">
    1111
    <button @click.stop="btnClick">ボタン</button>
  </div>
</div>
<スクリプト>
  アプリを新しいVue({
    el: "#app",
    データ: {
      カウント: 0
    },
    メソッド: {
      divクリック(){
        console.log("divClick")
      },
      btnClick(){
        console.log("btnClick")
      }
    }
  });
</スクリプト>

ケース2: 送信イベントでページがリロードされなくなった

<div id="アプリ">
  <フォームアクション="">
    <ラベル>
      <入力タイプ="テキスト">
    </ラベル>
    <ラベル>
      <input type="submit" value="送信">
    </ラベル>
  </フォーム>
</div>
<スクリプト>
  constアプリ = 新しいVue({
    el: "#app",
    データ: {
    }
  })
</スクリプト>

上記は、データ送信の最も標準的なコードです。送信後、自動的にBaiduにジャンプします。ただし、現在、要件があります。データ入力後、自動的にBaiduにジャンプするのではなく、まず独自の方法でデータを処理し、処理後に指定されたページにジャンプすることを希望します。

コードは次のとおりです。

<div id="アプリ">
  <フォームアクション="https://www.baidu.com">
    <ラベル>
      <入力タイプ="テキスト">
    </ラベル>
    <ラベル>
      <input type="submit" value="送信" @click.prevent="testClick">
    </ラベル>
  </フォーム>
</div>
<スクリプト>
  constアプリ = 新しいVue({
    el: "#app",
    メソッド: {
      テストクリック(){
      }
    }
  })
</スクリプト>

ここでは、クリック イベントをsubmitにバインドし、 .preventを使用してデフォルトの動作を防止します。

Vue v-on ディレクティブの使用に関するこの記事はこれで終わりです。Vue v-on ディレクティブに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue ディレクティブ v-html はフィルター関数の例を使用します
  • Vue v-text ディレクティブの簡単な使用例
  • Vue.js 命令 v-for の使用と添字インデックスの取得
  • Vue.js における v-on イベント命令の使用に関する簡単な説明
  • Vue.js の v-cloak ディレクティブと詳細な使用方法
  • Vue.js の v-for の使い方とインデックスの取得方法
  • vue.js でよく使われる v 命令の解析

<<:  CSSカスタムプロパティの予備的な理解

>>:  MySQL 8.0の新機能、隠しフィールドの詳細な説明

推薦する

Linux で MySQL データベースのスケジュールされたバックアップを実装する簡単な方法

詳細な手順は次のとおりです。 1. ディスク容量を確認します。 [root@localhost バッ...

crontab スケジュールされたタスクが実行されない理由の分析と解決

序文Linux のスケジュールされたタスクを実装する方法としては、cron、anacron、at な...

MySQL 8.0 ウィンドウ関数の紹介と概要

序文MySQL 8.0 より前は、Oracle、SQL SERVER、PostgreSQL などの他...

ログインボックスのドラッグ効果を実現するためのJavascript

この記事では、ログインボックスのドラッグ効果を実現するためのJavascriptの具体的なコードを参...

Vue ベースの円形スクロールリスト機能を実装する

注: 親コンテナーに高さと :data='Array' および overfolw:h...

MySQL ロックブロッキングの詳細な分析

日常のメンテナンスでは、スレッドがブロックされることが多く、データベースの応答が非常に遅くなります。...

Centos7.5でのIPアドレス設定の実装

1. IPアドレスを設定する前に、まずifconfigを使用してネットワークカード情報を表示し、ネッ...

VMware kali仮想マシン環境の設定方法

1|0 カーネルをコンパイルする(1)uname -rコマンドを実行してカーネルバージョンを表示しま...

Element PlusはAffixを実装します

目次1. コンポーネントの紹介2. ソースコード分析2.1 テンプレート2.2 スクリプト2.3 実...

JavaScript初心者がよく犯す間違い

目次序文undefined と null の混同紛らわしい数値の加算と文字列の連結戻り文の改行の問題...

MySQLデータベースのトランザクションとロックの詳細な分析

目次1. 基本概念酸3.自動コミット4. トランザクション分離レベル5. 同時実行の一貫性の問題6....

CSS ウェイト値(カスケード)の例の詳細な説明

•CSSには多くのセレクターがあります。複数のセレクターを同じ要素に適用するとどうなるでしょうか? ...

Linux で pyenv をインストールする方法

前提条件gitをインストールする必要があるインストール手順1. リモートリポジトリからpyenvをク...

MySQL 5.0.96 for Windows x86 32 ビット グリーン簡易版インストール チュートリアル

MySQL 5.0 は、いくつかの「高度な機能」があるため定番となっています。これは、Windows...

CSS3 は反転可能なホバー効果を実現します

CSS3 は反転可能なホバー効果を実装します。具体的なコードは次のとおりです。 1.css /*基本...