Vue のイベント監視命令 v-on について話しましょう
フロントエンド開発では、ユーザーと頻繁に対話する必要があります。このとき、クリック、ドラッグ、キーボード イベントなどのユーザー イベントを監視する必要があります。Vue でイベントを監視するにはどうすればよいですか? v-on
ディレクティブを使用します。次の記事では、Vue のイベント監視コマンド v-on について説明します。
#v-on コマンドの紹介
- 機能: バインディング定義されたイベント リスナー:
- #省略形: @
- 期待されるもの: 関数 (メソッド) | インライン ステートメント (内部式) | オブジェクト (オブジェクト)
- パラメータ:event
vue ビデオ チュートリアル)
v2.4.0 以降、v-on はパラメーター オブジェクトなしでイベント/リスナーのキーと値のペアをバインドすることもサポートします。 。オブジェクト構文を使用する場合、修飾子はサポートされないことに注意してください。
<!-- Template --> <div id="app"> <h1 id="点击我">点击我</h1> </div> // JavaScript var app = new Vue({ el: '#app', methods: { clickMe: function() { alert("点击我,我就出来了!(^_^)") } }, data: { } })
v-on を実行し、
click イベント (
v-on:click) をバインドし、この
click イベントをバインドします。 イベント
clickMe がトリガーされました。この
clickMe は Vue では通常、
methods: {} に配置します。つまり、
clickMe 関数は
methods# に記述されます。 # #真ん中。
を参照してください。これは、HTML の on Clock="clickMe"
とよく似ていますか?見た目から判断すると、書き方は違いますが、結果は同じです。 Vue では、v-on:click
の代わりに @click
を使用することもできます。その後、彼らは同じ役割を果たします。 Vue では、上記の例以外にも、
の次の使用方法があります。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><!-- 方法处理器 -->
<button v-on:click="clickMe"></button>
<!-- 对象语法 (v2.4.0版本以上才支持) -->
<button v-on="{ mousedown: doThis, mouseup: doThat}"></button>
<!-- 内联语句 -->
<button v-on:click="doThat(&#39;Hello&#39;, $event)"></button>
<!-- 缩写 -->
<button @click="doThis"></button>
<!-- 停止冒泡 -->
<button @click.stop="doThis"></button>
<!-- 阻止默认行为 -->
<button @click.prevent="doThis"></button>
<!-- 阻止默认行为, 没有表达式 -->
<form @submit.prevent></form>
<!-- 串联修饰符 -->
<button @click.stop.prevent="doThis"></button>
<!-- 键修饰符, 键别名 -->
<input @keyup.13="onEnter" />
<!-- 点击回调只会触发一次 -->
<button v-on:click.once="doThis"></button></pre><div class="contentsignin">ログイン後にコピー</div></div>
on サブコンポーネント カスタム イベント (イベントサブコンポーネントがトリガーするときにハンドラーが呼び出されます
): <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><my-component @my-event="handleThis"></my-component>
<!-- 内联语句 -->
<my-component @my-event="handleThis(123, $event)"></my-component>
<!-- 组件中的原生事件 -->
<my-component @click.native="onClick"></my-component></pre><div class="contentsignin">ログイン後にコピー</div></div>
上記の簡単な例から、Vue がイベント処理のプロセスにあることがわかります。それにはいくつかの修飾子が付いています。
- .stop
:event.stopPropagation()を呼び出す
- .prevent
:イベントを呼び出す.preventDefault()
- .capture
: イベント リスナーを追加するときにキャプチャ モードを使用します
- .self
: コールバックは、リスナーがバインドされている要素自体からイベントがトリガーされた場合にのみトリガーされます。
- .{keyCode | keyAlias }
:特定のキーからイベントがトリガーされた場合のみコールバック
#.native - : コンポーネントのルート要素
#.once## のネイティブ イベントをリッスンします。
: コールバックを 1 回だけトリガーします。
.left : マウスの左ボタンがクリックされたときのみトリガーします ( v2.2.0 でのみ使用可能)
.right : マウスの右ボタンがクリックされた場合にのみトリガーされます (v2.2.0 でのみ使用可能)
.middle : マウスの中ボタンがクリックされたときにのみトリガーされます (v2.2.0 でのみ使用可能)
.passive : - {passive: true}
モードでリスナーを追加します (v2.3.0 でのみ利用可能)
Vue の公式 Web サイトがイベントとカスタマイズを処理しますコンポーネントのイベントについて詳しく説明します。ご興味がございましたら、対応するコンテンツをご覧ください:
#イベント ハンドラー
- カウンターである簡単なエフェクトを作成しましょう。エフェクトは次のとおりです:
この効果は非常に簡単です。数値を増やすには
をクリックし、数値を減らすには
- をクリックします。
Vue では、テンプレートには 3 つの要素、2 つのボタン、および数値を表示するコンテナーが含まれています。最初のボタンは加算計算を実行し、2 番目のボタンは減算カウントを実行します。簡単な構造は次のとおりです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><div id="app">
<button v-on:click="increase">+</button>
<span>{{ count }}</span>
<button v-on:click="reduce">-</button>
</div></pre><div class="contentsignin">ログイン後にコピー</div></div><p>两个按钮上都绑定了一个<code>click
事件,点击按钮分别触发increase
和reduce
两个函数,前者做加法,后者做减法。另外一个元素中我们有一个值{{ count }}
。每次点击按钮这个{{ count }}
都会做相应的变化。
模板有了之后,需要添加对应的功能。
let app = new Vue({ el: '#app', methods: { increase: function() { this.count++ }, reduce: function() { this.count-- } }, data: { count: 0 } })
在Vue中,我们在methods
中声明了两个函数,分别是increase
(加法)和reduce
(减法)。另外需要在数据源中声明count
。
演示demo地址:https://codepen.io/airen/pen/PJbKNg
对于这么简单的效果,我们也可以直接在v-on中处理完:
<button v-on:click="count += 1">+</button>
比如我们前面的示例,修改下:
<button v-on:click="count += 1">+</button> {{ count }}// JavaScript let app = new Vue({ el: '#app', data: { count: 0 } })
效果一样:
演示demo地址:https://codepen.io/airen/pen/veyeLY
以上がVue のイベント監視命令 v-on について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









HTMLテンプレートのボタンをメソッドにバインドすることにより、VUEボタンに関数を追加できます。 VUEインスタンスでメソッドを定義し、関数ロジックを書き込みます。

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

vue.jsには、前のページに戻る4つの方法があります。$ router.go(-1)$ router.back()outes&lt; router-link to =&quot;/&quot; Component Window.history.back()、およびメソッド選択はシーンに依存します。

VUEマルチページ開発は、VUE.JSフレームワークを使用してアプリケーションを構築する方法です。アプリケーションは別々のページに分割されます。コードメンテナンス:アプリケーションを複数のページに分割すると、コードの管理とメンテナンスが容易になります。モジュール性:各ページは、簡単に再利用および交換するための別のモジュールとして使用できます。簡単なルーティング:ページ間のナビゲーションは、単純なルーティング構成を介して管理できます。 SEOの最適化:各ページには独自のURLがあり、SEOに役立ちます。

Vue Devtoolsを使用してブラウザのコンソールでVueタブを表示することにより、Vueバージョンを照会できます。 NPMを使用して、「NPM List -G Vue」コマンドを実行します。 package.jsonファイルの「依存関係」オブジェクトでVueアイテムを見つけます。 Vue CLIプロジェクトの場合、「Vue -Version」コマンドを実行します。 &lt; script&gt;でバージョン情報を確認してくださいVueファイルを参照するHTMLファイルにタグを付けます。

VUEの関数傍受は、指定された期間内に関数が呼び出され、パフォーマンスの問題を防ぐ回数を制限するために使用される手法です。実装方法は次のとおりです。LodashLibrary:Import {Debounce}から「Lodash」からインポート。 debounce関数を使用して、インターセプト関数を作成します。インターセプト関数を呼び出すと、制御関数は500ミリ秒でせいぜい1回呼び出されます。
