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

推薦する

Alibaba Cloud Nginx はドメイン名アクセス プロジェクトを実装するために https を設定します (グラフィック チュートリアル)

ステップ1: サードパーティの信頼できるSSL証明書に署名するAlibaba Cloud で直接、無...

Linuxシステムのログの詳細な紹介

目次1. ログ関連サービス2. システム内の共通ログファイル1. ログ関連サービスCentOS 6....

MySql マスタースレーブレプリケーションメカニズムの包括的な分析

目次マスタースレーブレプリケーションメカニズム非同期レプリケーション準同期レプリケーションマスタース...

JS でシンプルな画像カルーセル効果を実現

この記事では、シンプルな画像カルーセル効果を実現するためのJSの具体的なコードを参考までに紹介します...

Angular CDK を使用してサービスポップアップトーストコンポーネント機能を実装する

目次1. 環境設備2. ToastコンポーネントとToastServiceを作成する2.1 Toas...

Reactのようなフレームワークをゼロから作成する

最近、インターネットで「Build your own React」という記事を見ました。著者は、シン...

JavaScript クラス配列の詳細な理解

js 配列はどこでも使用されているため、おそらく誰もがよく知っているでしょうが、配列クラス (疑似配...

MySql8 WITH RECURSIVE 再帰クエリ親子コレクションメソッド

背景コメントに似た機能を開発する場合は、必要に応じてすべてのコメントのサブセットをクエリする必要があ...

Docker で LNMP 環境を素早く構築する方法 (最新)

序文ヒント: ここで、この記事に記録するおおよその内容を追加できます。例えば、人工知能の継続的な発展...

Vue命令の実装原理の分析

目次1. 基本的な使い方2. 指示の動作原理2.1. 初期化2.2 テンプレートのコンパイル2.3....

ネイティブ js で呼び出し、適用、バインドを実装する方法

1. 呼び出しを実装するステップ:関数をオブジェクトのプロパティとして設定します。これを関数に割り当...

MySQL トランザクション分析

取引トランザクションはビジネス ロジックの基本単位です。各トランザクションは一連の SQL ステート...

Vue プロジェクトで addRoutes を使用する際の問題の解決策

目次序文1. 404 ページ1. 原因2. 解決策2.白い画面を更新する1. 原因2. 解決策3. ...

ウェブサイトをより高く、よりデザイン的に見せる方法

「ウェブサイトを高級感のあるものにするにはどうすればいいでしょうか? それともデザイン重視にすればい...

一般的なMysql DDL操作の概要

図書館管理ライブラリを作成する データベースを作成します [存在しない場合] ライブラリ名;ライブラ...