Vue のリスナーの基本的な使用例

Vue のリスナーの基本的な使用例

序文

Vue は、watch オプションを通じてデータの変更に応答するより一般的な方法を提供します。このアプローチは、データが変更されたときに非同期またはコストのかかる操作を実行する必要がある場合に最も役立ちます。

1. リスナーの基本的な使い方

<div id="demo">{{ fullName }}</div>
var vm = 新しい Vue({
el: '#demo',
データ: { 
    ファーストネーム: 'Foo', 
    姓: 'バー', 
    fullName: 'Foo Bar' }, 
時計: 
    firstName: 関数 (val) { 
        this.fullName = val + ' ' + this.lastName }, 
    lastName: 関数 (val) { 
        this.fullName = this.firstName + ' ' + val } } })

このコードの目的は、firstName と fullName を監視し、変更があった場合に fullname の値を変更することです。

2. リスナー形式

メソッド形式のリスナー

  • デメリット 1: ページに初めてアクセスしたときに自動的にトリガーされない!
  • デメリット 2: オブジェクトをリッスンしている場合、属性のプロパティが変更されると、リスナーはトリガーされません。

オブジェクト形式リスナー

  • メリット1: ページに入るとすぐに自動で発動できる!
  • メリット2:監視対象内の属性が変更されたかどうかの詳細な監視が可能になります。

3. ページに入るとすぐに監視とディープモニタリングをトリガーする

ページに入るとすぐにリスナーをトリガーします

これは即時オプションを追加することで実現されます

定数vm = 新しいVue({
    el: '#app',
    データ: {
        情報:
            ユーザー名: 'admin'
        } 
    },
    時計:{
        情報:
            ハンドル(newVal){
                コンソールログ(新しい値)
            },
            // ページに入るとすぐにリスナーをトリガーしますimmediate: true
        }
    }
})

ディープモニタリング

上記のコードでは、ユーザー名が変更されたときに正常に監視できません。変更されるのはオブジェクト属性の値であるため、詳細な監視が必要です。deepオプションを追加するだけです。

定数vm = 新しいVue({
    el: '#app',
    データ: {
        情報:
            ユーザー名: 'admin'
        } 
    },
    時計:{
        情報:
            ハンドル(newVal){
                コンソールログ(新しい値)
            },
            // ページに入るとすぐにリスナーをトリガーしますimmediate: true,
            // 詳細な監視を実装します。オブジェクトのいずれかのプロパティが変更される限り、「オブジェクト監視」がトリガーされます。
            深い: 本当
        }
    }
})

ディープリスニングはリスニングオブジェクトのサブプロパティの値を返します。

上記のコードの実行結果は、info オブジェクトを印刷することです。username の値を印刷したいのですが、newVal.username を追加するのは面倒です。実際には、変更されたサブ属性の値を直接監視して印刷することができます。監視するサブ属性を一重引用符で囲むだけです。

定数vm = 新しいVue({
    el: '#app',
    データ: {
        情報:
            ユーザー名: 'admin'
        } 
    },
    時計:{
        'info.ユーザー名': {
            ハンドル(newVal){
                コンソールログ(新しい値)
            }
        }
    }
})

やっと

⚽この記事では、Vue のリスナーの基本的な使い方とディープリスニングの実装方法を紹介します。読んで何か得ていただければ幸いです〜

Vue のリスナーの基本的な使い方についてはこれで終了です。Vue リスナーの使い方についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • vue3.0 のウォッチ リスナーの例の詳細な説明
  • Vue2 と Vue3 でウォッチ リスナーを使用する方法
  • Vue の計算プロパティとリスナーの使用の概要
  • vueリスナーウォッチでこれを呼び出すときに未定義の問題を解決する
  • Vue 学習ノート: 計算プロパティとリスナーの使用
  • Vue 2.0 リスナーウォッチ属性コードの詳細な説明
  • Vue の基本リスナーの詳細な説明

<<:  Dockerイメージストレージoverlayfsの使用

>>:  MySQLにおける分散ロックの考え方をDBの助けを借りて詳しく説明します

推薦する

効率的なMySQLページングの詳細な説明

序文通常、大量のデータを扱う MySQL クエリには「ページング」戦略が採用されます。ただし、ページ...

mysqlはコンマに基づいてデータ行を複数の行に分割します

目次分離効果コマンドラインの説明関与する機能分離効果-- 別居前1,2,3,4 -- 別居後1 2 ...

Hbase 入門

1. HBaseの概要1.1 HBaseとはHBase は、高い信頼性、高いパフォーマンス、列ストレ...

MySQL ルートパスワードエラー番号 1045 の解決方法

MySQLサービスを停止するWindowsでは、マイコンピュータを右クリック--管理--サービスと...

Presto をインストールし、Docker で Hive を接続する詳細なプロセス

1. はじめにPresto は、ギガバイトからペタバイトに及ぶデータ ソースに対してインタラクティブ...

Tomcatの各ポートの機能の詳細な説明

tomcat 設定ファイルから、tomcat の起動時にデフォルトで 8080 (8443)、800...

HTMLはa要素hrefのURLリンクを自動的に更新したり新しいウィンドウを開いたりする機能を実装する

場合によっては、次のような機能を実装したいことがあります。リンクをクリックします。リンクがブラウザで...

Linux における nohup と & の使い方と違いの詳細な説明

例:例として、Python コード loop_hello.py を使用します。このコードは、ループ回...

Docker 経由で Redis 6.x クラスターをデプロイする方法

システム環境: Redis バージョン: 6.0.8 Docker バージョン: 19.03.12シ...

CSS属性のマージンの理解について話す

1.マージンとは何ですか?マージンは、要素の周囲のスペースの間隔を制御するために使用され、視覚的にス...

アバターと国旗の統合を実現する1行のCSSコード

今日は建国記念日で、誰もが祖国の誕生日をお祝いしようとしています。毎年この時期になると、WeChat...

bitronix を使用して MySQL に接続するときの MySQLSyntaxErrorException の解決方法

bitronix を使用して MySQL に接続するときの MySQLSyntaxErrorExce...

Dockerはコード検出プラットフォームSonarQubeを構築し、Mavenプロジェクトのプロセスを検出します

1 はじめに優れたコーディング習慣は優れたプログラマーが備えるべき資質ですが、コードの品質を保証する...

MySQL データベースの高度なクエリとマルチテーブルクエリ

MySQL マルチテーブルクエリワークシートを追加する -- ユーザーテーブル (ユーザー) テーブ...