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 ファイルのセグメンテーションの関係についての簡単な分析

推薦する

MySQLアカウントのIP制限条件を変更する方法

序文最近、仕事で、MySQL ユーザーの権限を変更するには、特定の IP アドレスへのアクセスを制限...

Vue で AES.js を使用する詳細な手順

AES暗号化の使用データ転送の暗号化と復号化処理 --- AES.js最初のステップ: vue に ...

初心者向け入門講座⑧:記事サイトを簡単に作る

前回の投稿では、Web ページの作成方法について説明しました。Web サイトは多くの Web ページ...

Linux 仮想メモリ設定のチュートリアルと実践

仮想メモリとは何ですか?まずはWikipediaからの紹介文をそのまま引用します。仮想メモリは、コン...

表示しているページのスナップショットを Baidu が保存できないように設定する方法

今日、Baidu でページを検索したところ、ページが削除されていたため、当然 Baidu スナップシ...

負の距離(共感) - 相互影響の反復プロセス

ネガティブな距離は共感を意味します。序文(疑問の提起):プロダクトマネージャーは機能を把握します。機...

Vueを使用して手書き署名機能を実装する

個人的な実装のスクリーンショット:インストール: npm インストール vue-esign --sa...

Vueのフロントエンドとバックエンドのポートの不一致の問題を解決する

Vue のフロントエンドとバックエンドのポートが一致していませんconfig index.jsファイ...

アニメーション効果のようなVueトランジションの例

目次結果を一目で見るハート効果デジタルスクロールアニメーションアニメーションのように結果を一目で見る...

MySQL テーブルとデータベース シャーディングのアプリケーション シナリオと設計方法

多くの友人がフォーラムやメッセージエリアで、どのような状況で MySQL をシャーディングする必要が...

Linux サーバーのステータスとパフォーマンスに関連するコマンドの詳細な説明

サーバーステータス分析Linux サーバーの CPU の詳細を表示する#CPU情報を表示[root@...

VMware 仮想マシン ブリッジ モードでインターネットにアクセスできない問題を解決する方法

ステップ1: ローカルイーサネットプロパティをチェックして、VMwareブリッジプロトコルがインスト...

UbuntuにCMakeをインストールするいくつかの方法の詳細な説明

CMakeをインストール sudo apt をインストール cmake この方法はインストールが簡単...

IE で ClearType をオンにした後の透明フォントの問題の解決方法

IE で ClearType をオンにした後に発生する透明フォントの問題を解決するには、透明要素に背...

Reactは適応性の高い仮想リストを実装する

目次変換前:変換後: 0x0の基本0x1 「固定高さ」の仮想リストを実装する原理:最適化: 0x2 ...