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

推薦する

Linux SecureCRT の文字化けの解決方法

SecureCRT が文字化けした文字を表示する状況を見てみましょう。例えば: ではリセットしてみま...

jQuery を使用して、iframe 下の無効なページ アンカー ポイントの問題を修正する

適用シナリオ: iframe ページにスクロール バーがなく、親ウィンドウにスクロール バーが表示さ...

HTML 背景画像と背景色_PowerNode Java アカデミー

1. HTML 画像 <img> 1. <img> タグとその src 属性...

CentOS 7.4 にソースコードから MySQL 8.0 をインストールするための詳細なチュートリアル

目次1. 環境2. 準備3. MySQL 8.0.11をインストールするMySQL 8 の公式バージ...

HTML フォーム コントロールの無効な属性の読み取り専用と無効の概要

HTML でフォームの送信を無効にする方法は 2 つあります。 1. コントロールタグにreadon...

MySQLのMVCCマルチバージョン同時実行制御の実装

1 MVCCとは何かMVCC の正式名称は、マルチバージョン同時実行制御です。データベースへの同時ア...

HTML CSS JS はタブページのサンプルコードを実装します

コードをコピーコードは次のとおりです。 <html xmlns="">...

mysql-8.0.19-winx64 をインストールしてログインするための初心者向けチュートリアル (初心者必読)

目次1. インストールパッケージ(64ビット)をダウンロードする2. MySQLデータベースをインス...

1 時間で MySQL データベースを学ぶ (Zhang Guo)

目次1. データベースの概要1.1 開発の歴史2. MySQL の紹介2.1. MySQLの概要2....

Centos での Python のアップグレードと Mongodb ドライバーのインストールに関する問題

Python バージョンを確認します (python -V)。2.7 未満の場合は、アップグレードす...

Vue は、デスクトップから Web ページにファイルをドラッグするためのサンプル コードを実装します (画像/オーディオ/ビデオを表示できます)

効果使用する場合は、コードとスタイルを自分で最適化してください。画像を表示しない/ビデオとオーディオ...

Dockerでデータディレクトリを移行する方法

目次ディスク使用量の表示ディスク クリーンアップ (軽々しく使用しないでください)データの移行ディス...

MySQL の int、char、varchar のパフォーマンスを比較する

インターネットには、真実のように見える「噂」がたくさんあります。もちろん、悪意のあるものではありませ...

Vueを使用してタイマー機能を実装する

この記事の例では、タイマー機能を実装するためのVueの具体的なコードを参考までに共有しています。具体...

開発者とオペレーターが注目すべき Linux デバッグ ツール [推奨]

システム パフォーマンスの専門家である Brendan D. Gregg 氏は、LinuxCon N...