Vue のライフサイクルとフック関数

Vue のライフサイクルとフック関数

1.ライフサイクルとは何か

Vue インスタンスには完全なライフサイクルがあり、作成、データの初期化、テンプレートのコンパイル、 Domマウント、レンダリング → 更新 → レンダリング、アンインストールなどの一連のプロセスが含まれます。これを Vue のライフサイクルと呼びます。簡単に言えば、Vue インスタンスの作成から破棄までのプロセスがライフサイクルです。

Vue のライフサイクル全体を通じて、イベントがトリガーされたときにjsメソッドを登録できる一連のイベントが提供され、登録した独自の js メソッドで全体的な状況を制御できます。これらのイベント応答メソッドでは、 this vueインスタンスを直接指します。

2. Vueのライフサイクル

ライフサイクル関数、フック関数とも呼ばれます (ライフサイクル フック === ライフサイクル関数 === ライフサイクル イベント)

Vue のライフサイクル関数は通常、ペアで表示されます。そこで、ペアで比較して、違いを確認します。

覚えておくべきライフサイクル関数 10 個!具体的な使い方!

3. ライフサイクルフック関数

機能:自動的に呼び出されますが、呼び出し時間ノードは異なります。

公式サイトから写真を撮りました:

beforeCreate --- Vue インスタンスの「作成前」。注意:この関数では、Vue のデータセンター内のデータを読み取ることはできません。

  <script src="./js/vue.js"></script>
    <スクリプト>
        vm = new Vue({
            el:'#app',
            データ:{
                名前:「ハハハ」、
                番号:1111
            },
            メソッド: {
                
            },
 
            // vueインスタンスが作成される前 beforeCreate(){
                コンソールにログを記録します。
                console.log(この名前);
            }
    </スクリプト>


出力データセンターの名前が読み取れません:

created --- vue インスタンスが作成された後、注意: この関数では、vue のデータセンター内のデータを識別できます <script src="./js/vue.js"></script>
    <スクリプト>
        vm = new Vue({
            el:'#app',
            データ:{
                名前:「ハハハ」、
                番号:1111
            },
            // vueインスタンスが作成された後 created(){
                console.log("作成されました");
                コンソールにログ出力します。
            }
        })
    </スクリプト>


結果を表示:

beforeMount --- DOM this.$el---この時点での$elは「仮想」DOMノードです

ビュー レベルでラベルをレンダリングします。

  <div id="アプリ">
        <p>{{名前}}</p>
        <p>{{数値}}</p>
    </div>
<script src="./js/vue.js"></script>
    <スクリプト>
        vm = new Vue({
            el:'#app',
            データ:{
                名前:「ハハハ」、
                番号:1111
            },
            //DOM がマウントされる前 beforeMount(){
                console.log("マウント前");
                   //DOM 要素を表示します console.log(document.body.querySelector("#app").innerHTML);
            }
        })
    </スクリプト>


domマウント前の出力結果:

 マウント済み --- DOM がマウントされた後 this.$el --- この時点で $el は「実際の」DOM ノードです <script src="./js/vue.js"></script>
    <スクリプト>
        vm = new Vue({
            el:'#app',
            データ:{
                名前:「ハハハ」、
                番号:1111
            },
            // domがマウントされた後、mounted(){
                console.log("マウントされました");
                console.log(document.body.querySelector("#app").innerHTML);
            }
        })
    </スクリプト>


出力を表示します。

  • beforeUpdate --- データが更新される前 (---- ビュー レイヤーのデータの変更前と変更後)
  • updated --- データが更新された後 (---- ビュー レイヤーのデータの前後の変更)

ビュー レイヤーで、クリックして num の値を変更し、データの更新をシミュレートして結果を表示します。

  
    <div id="アプリ">
        <p id="num">{{num}}</p>
        <button @click="num++">クリックデータ更新 (num+1)</button>
    </div>
  //データ更新前 beforeUpdate(){
                console.log("beforeUpdate--データ更新前");
                // DOM 要素を表示します console.log(document.body.querySelector("#num").innerHTML);
            },
            //データが更新された後 updated(){
                console.log("updated--データが更新された後");
                // DOM 要素を表示します console.log(document.body.querySelector("#num").innerHTML);
            }


この時点では、データが変更されていない場合、コンソールでその効果を確認することはできません。ボタンをクリックすると、

Vue のライフサイクルとフック関数についての記事はこれで終わりです。Vue のライフサイクルフック関数についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue ライフサイクルの紹介とフック関数の詳細な説明
  • Vue3ライフサイクルフック機能の詳しい説明
  • Vue ライフサイクルにはいくつのステージがありますか?違いは何ですか?
  • Vueライフサイクルフック関数とそれがいつトリガーされるかについて話しましょう

<<:  MySQLの基本的な共通コマンドの概要

>>:  さまざまな Tomcat ログと catalina.out ファイルのセグメンテーションの関係についての簡単な分析

推薦する

簡潔なReactコンポーネントを書くためのヒント

目次スプレッド演算子を使用してプロパティを渡すのは避けてください関数パラメータをオブジェクトにカプセ...

MySQLマスタースレーブデータベース構築方法の詳細な説明

この記事では、MySQL マスター/スレーブ データベースの構築方法について説明します。ご参考までに...

Vueはdivホイールのズームインとズームアウトを実装します

Vue プロジェクトで div ホイールのズームインとズームアウト、ドラッグ効果、キャンバス効果に似...

Vue3の一般的なAPIの使用方法の紹介

目次ライフサイクルの変化反応的な参照vue2.x では ref を使用して要素タグを取得します。vu...

MySQLのカバーインデックスに関する知識ポイントのまとめ

インデックスにクエリする必要があるすべてのフィールドの値が含まれている(またはカバーしている)場合、...

VueはEchartsを使用して3次元棒グラフを実装します

この記事では、Echartsを使用して3次元棒グラフを実装するVueの具体的なコードを参考までに共有...

MySQLデータ移行の概要

目次序文: 1. データ移行について2. 移行計画と留意点要約:序文:日常業務では、テーブル、データ...

Mysql varchar型の合計操作例

友人の中には、データベースについて学習しているときに、テーブル構造を作成するときに誤ってフィールドを...

マークアップ言語 - フレーズ要素

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

jQueryは検証コード送信のコントロールボタンを無効にする機能を実装します

必要な効果: 確認コードを送信するためにクリックした後、ボタンは無効になり、5 秒後に無効解除されま...

Vue の nextTick について話す

データが変更されても、DOM ビューはすぐには更新されません。変更直後にノードまたはその値を取得しよ...

vue プロジェクトで rem を使用して px を置き換える例

目次道具プラグインをインストールするプロジェクトのルートディレクトリに.postcssrc.jsファ...

Swiper+echartsは複数のダッシュボードの左右スクロール効果を実現します

この記事では、ダッシュボードの左右スクロール効果を実現するためのスワイパー+echartsの具体的な...

知らないかもしれない実用的なTypeScriptのヒント

目次序文関数のオーバーロードマッピングタイプ部分的、読み取り専用、Null 可能、必須選択、記録除外...

CSS でインラインブロック要素間のギャップを削除するいくつかの方法の詳細な説明

最近、モバイルページを制作する際には、レイアウトにインラインブロック要素がよく使われますが、インライ...