検索

vuejsイベント監視の実装方法

Sep 26, 2021 pm 05:51 PM
vuejsイベントリスニング

vuejs では、「v-on」命令を使用してイベント監視を実装できます。この命令はイベント リスナーをバインドするために使用されます。必要なのは、ラベル テンプレート 関数 "" ステートメントを処理するには、JavaScript を使用して、トリガー時に実行する必要があるコードを設定します。

vuejsイベント監視の実装方法

このチュートリアルの動作環境: Windows7 システム、vue2.9.6 バージョン、DELL G3 コンピューター。

テンプレートのレンダリングが完了すると、イベントのバインドと監視を実行できるようになります。 v-on ディレクティブは DOM イベントを監視するために使用され、通常はテンプレート内で直接使用されます。

<button v-on:click="say">Say</button>

メソッドとインライン ステートメント プロセッサ

イベント ハンドラーとして v-on を介して強度オプション属性メソッドにメソッドをバインドします。 v- on: 事後パラメータはすべてのネイティブ イベント名を受け入れます。

    <button v-on:click = "say">Say</button>
    var vm = new Vue({
        el: "#app",
        data: {
            msg:"hello vue.js"
        },
        methods:{
            say:function(){
                alert(this.msg);
            }
        }
    })

v-on 略称: @。 @click="say"

v-on はインライン JavaScript ステートメントをサポートしますが、ステートメントは 1 つだけです。

    <button v-on:click = "sayFrom(&#39;from param&#39;)">Say</button>
    var vm = new Vue({
        el: "#app",
        data: {
            msg:"hello vue.js"
        },
        methods:{
            sayFrom:function(from){
                alert(this.msg + &#39;&#39; + from);
            }
        }
    })

メソッド関数とインライン JavaScript をルームに直接バインドする場合、ネイティブ DOM イベント オブジェクトを取得する必要がある場合があります。

   <button v-on:click = "showEvent">Event</button> 
   <button v-on:click = "showEvent($event)">event</button>
   <button v-on:click = "showEvent()">Say</button>  //这样写获取不到event
    var vm = new Vue({
        el: "#app",
        methods:{
            showEvent:function(event){
                console.log(event);
            }
        }
    })

v-on を使用して複数の同一の要素をバインドできます。イベント関数は順番に実行されます。 。

イベント修飾子

1. .stop: event.stopPropagation() を呼び出します。

<!-- 阻止单击事件冒泡 -->
<a v-on:click.stop="doThis"></a>

2. .prevent : event.preventDefault().

    <!-- 提交事件不再重载页面 -->
    <form v-on:submit.prevent="onSubmit"></form>
    <!-- 修饰符可以串联  -->
    <a v-on:click.stop.prevent="doThat"></a>
    <!-- 只有修饰符 -->
    <form v-on:submit.prevent></form>

3, .caputure を呼び出します: キャプチャ モードを使用してイベント リスナーを追加します。

  <!-- 添加事件侦听器时使用事件捕获模式 -->
    <div v-on:click.capture="doThis">...</div>

4. .self: コールバックは、リスニング要素自体からイベントがトリガーされた場合にのみトリガーされます。

   <!-- 只当事件在该元素本身(比如不是子元素)触发时触发回调 -->
    <div v-on:click.self="doThat">...</div>

5. .once:

 <!-- 点击事件将只会触发一次 -->
    <a v-on:click.once="doThis"></a>

修飾子を使用する場合、順序が重要です。対応するコードは同じ順序で生成されます。したがって、@click.prevent.self を使用するとすべてのクリックが防止されますが、@click.self.prevent は要素のクリックのみを防止します。

   //例子
    var vm = new Vue({
        el: &#39;#app&#39;,
        methods:{
            saySelf(msg) {
                alert(msg);
            }
        }
    });
    //HTML代码
    <div v-on:click="say(&#39;click from inner&#39;)" v-on:click.self="saySelf(&#39;click from self&#39;)">
        <button v-on:click="saySelf(&#39;button click&#39;)">button</button>
        <button v-on:click.stop="saySelf(&#39;just button click&#39;)">button</button>
    </div>

キー値修飾子

キーボード イベントをリッスンするときは、共通のキー値を監視する必要があります。

    <input v-on:keyup.13 = "submit" />  //监听input的输入,当输入回车时触发submit函数。

すべての keyCide を覚えるのは難しいため、Vue は最もよく使用されるキーのエイリアスを提供します。

    <!-- 同上 -->
    <input v-on:keyup.enter="submit">
    <!-- 缩写语法 -->
    <input @keyup.enter="submit">

.enter
.tab
.delete (「Delete」キーと「Backspace」キーをキャプチャ)
.esc
.space
.up
.down
.left
.right
グローバル config.keyCodes オブジェクト :

    // 可以使用 v-on:keyup.f1
    Vue.config.keyCodes.f1 = 112
# を使用して、キー値修飾子のエイリアス
をカスタマイズできます。 # #従来のイベント バインディングとの違い

1. イベントを手動で管理する必要はありません。 ViewModel が破棄されると、すべてのイベント ハンドラーが自動的に削除されるため、DOM バインドされたイベントを取得したり、特定の状況でバインドを解除したりする必要がなくなります。

2. デカップリング。 ViewModel コードは純粋に論理コードであり、DOM とは何の関係もありません。これは自動テスト ケースを作成するのに役立ちます。

vue.extend()

サブコンポーネントを再利用するために、vue.js は「基本的な Vue」を作成する Vue.extend(options) メソッドを提供します。コンストラクター「サブクラス」のパラメーター オプション オブジェクトは、基本的に、直接宣言された Vue インスタンスのパラメーター オブジェクトと同じです。

    var Child = Vue.extend({
        teplate:&#39;#child&#39;, //不同的是,el和data选项需要通过函数返回值赋值,避免多个组件实例共用一个数据
        data:function(){
            return {
                ...
            }
        },
        ...
    })
    Vue.component(&#39;child&#39;,child)  //全局注册子组件
    <child ...></child>  //子组件在其他组件内的调用方式
関連する推奨事項:「

vue.js チュートリアル

以上がvuejsイベント監視の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Reactの強力なコミュニティとエコシステムの利点Reactの強力なコミュニティとエコシステムの利点Apr 29, 2025 am 12:46 AM

反応の反応は、反応すること:1)即時カクセスソリューションスループラットフループラットフルフルフローアンドGithub;

モバイル開発のためのネイティブの反応:クロスプラットフォームアプリの構築モバイル開発のためのネイティブの反応:クロスプラットフォームアプリの構築Apr 29, 2025 am 12:43 AM

ReactNativeIsCosenformedeveledementBecauseDevelowSowRiteCodeOdeCodeOdeCodeandedDeployitOnMultPlatforms、ReducingDevelopmentTimeandCosts.ItOfferSnear-NativePerformance、Athrive-community、AndleverageSexistingwebdevelyments.keytomatherinere

ReactのuseState()で状態を正しく更新しますReactのuseState()で状態を正しく更新しますApr 29, 2025 am 12:42 AM

ReactのuseState()状態の正しい更新には、州の管理の詳細を理解する必要があります。 1)機能的な更新を使用して、非同期更新を処理します。 2)状態を直接変更しないように、新しい状態オブジェクトまたは配列を作成します。 3)単一の状態オブジェクトを使用して、複雑なフォームを管理します。 4)アンチシェイクテクノロジーを使用して、パフォーマンスを最適化します。これらの方法は、開発者が一般的な問題を回避し、より堅牢なReactアプリケーションを作成するのに役立ちます。

Reactのコンポーネントベースのアーキテクチャ:スケーラブルなUI開発の鍵Reactのコンポーネントベースのアーキテクチャ:スケーラブルなUI開発の鍵Apr 29, 2025 am 12:33 AM

Reactのコンポーネントアーキテクチャにより、モジュール性、再利用性、保守性を通じて、スケーラブルなUI開発を効率的にします。 1)モジュール性により、UIを独立して開発およびテストできるコンポーネントに分解できます。 2)コンポーネントの再利用性は時間を節約し、さまざまなプロジェクトの一貫性を維持します。 3)メンテナビリティにより問題のあるポジショニングと更新が容易になりますが、コンポーネントを過剰な普及と深いネスティングを回避する必要があります。

Reactによる宣言プログラミング:UIロジックの簡素化Reactによる宣言プログラミング:UIロジックの簡素化Apr 29, 2025 am 12:06 AM

Reactでは、宣言的なプログラミングは、UIの望ましい状態を記述することにより、UIロジックを簡素化します。 1)UIステータスを定義することにより、ReactはDOMの更新を自動的に処理します。 2)この方法により、コードのメンテナンスがより明確かつ容易になります。 3)しかし、国家管理の複雑さと最適化された再レンダリングに注意を払う必要があります。

Reactのエコシステムのサイズ:複雑な風景をナビゲートしますReactのエコシステムのサイズ:複雑な風景をナビゲートしますApr 28, 2025 am 12:21 AM

tonavigatereAct'somplexEcosystemively、理解を理解し、認識していることを認識していることを認識しているandweakness、およびIntegreatemtoemtoemtoemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemotereconceptate、その後、勾配内で測定する

どのようにReactがキーを使用してリスト項目を効率的に識別しますどのようにReactがキーを使用してリスト項目を効率的に識別しますApr 28, 2025 am 12:20 AM

RactuseSeSeSeSeSeSeSeSpiffictifideidifiedItemsbyprovidingastableidentitytoeeedelement.1)keysallowReactTotTotTotTotTotTotTotTotTotTotTotTotTotTotTotRACKESOUTRE-RENDERINGTHEENTERELIST.2)chookiniqueandstablekeys、avolididingArrayIndi​​ces.3)reforceAsificlySificlySiflovedobrovesiondanc

Reactにおける重要な問題のデバッグ:問題の特定と解決Reactにおける重要な問題のデバッグ:問題の特定と解決Apr 28, 2025 am 12:17 AM

KeysinReactarecrucialforoptimizingTherenderingProcessandDynamicListseffective.tospotandfixkey-relatedissues:1)adduniquekeystolistiTemstoavoidsissusisus、2)useuniqueidideididifiersfromdateadceSofofordiceys、3)

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール