ホームページ ウェブフロントエンド Vue.js Vue のライフサイクル機能を 10 分で詳しく解説

Vue のライフサイクル機能を 10 分で詳しく解説

Dec 20, 2021 am 11:44 AM
vue

この記事は、Vue の宣言サイクル機能に関する関連知識を提供します。Vue の宣言サイクルは 8 つの段階に分かれています。Vue 公式のサイクル チャートと併せて読むことをお勧めします。皆様のお役に立てれば幸いです。 !

Vue のライフサイクル機能を 10 分で詳しく解説

1.BeforeCreate()

Vue インスタンス は作成されましたが、データとメソッド内のデータとメソッドが初期化されていません。つまり、beforeCreated(){} で this を取得できます。これは現在の Vue インスタンスまたはコンポーネントを参照していますが、this.data と this.method は取得できません。

2.Created()

Vue のデータとメソッドが初期化されました。通常、データの初期化はこのフック関数内で行われます。

レンダリング関数は、この段階の後、BeforeMounte の前に実行されます。 Vue は、コードを仮想 DOM であるインメモリ DOM にレンダリングします。まだページには実装されていません。

この後、beforeMount の前に、Vue コンストラクターは構成アイテムに el 属性があるかどうかを確認します。 HTML ドキュメント内にノードがある場合は、それを置き換えます。次に、テンプレート オプションが指定されているかどうかを確認します。指定されている場合、ノードはテンプレートに置き換えられます。指定されていない場合、ノードは引き続き el に置き換えられます。

3.BeforeMount()

関数では、ページは仮想 dom に置き換えられる前の dom です

クリを作りましょう

let vm = new Vue({
        el: '#app',
        data: {
            message: 'wxs',
            arr:[1,2,3],
            obj:{
                name:'wxs',
                age:21
            }
        },
        beforeMount(){
            console.log(document.querySelector("#app"))
        },
        mounted(){
            console.log(document.querySelector("#app"))
        },
        methods:{
        },
        watch:{
        },
        template: `<p id="app"><p>{{message}}</p><p>{{arr[0]}}</p><p>{{obj.name}}</p><button>改变!</button></p>`,
    })
ログイン後にコピー

印刷結果をもう一度見てください

4.Mounted()

ページには要素が表示されます交換されたもの。

上記は、Vue コンポーネント作成時のフック関数です。

以下は、コンポーネントの実行時のフック関数です。

5.beforeUpdate()

このフック関数をトリガーする方法は、データの値を変更することです。このフック関数では更新前の値も取得できます。

このフック関数では、インターフェイスは更新されていませんが、データ値は更新されています。 (概要: 古いページ、新しいデータ)

更新後および更新前に、Vue はメモリ内で Virtual Dom の再レンダリングとマウントを密かに実行します。

6.update()

このフックでは、新しいインターフェイスの値と新しいデータ値を取得できます。 (概要: 新しいインターフェイス、新しいデータ)

テスト コードとスクリーンショット

let comp = {
        template: "<p><p>{{msg}}</p>  <button ref='btn' @click='change'>改变了</button></p>",
        data() {
            return {
                msg: '初始文字'
            }
        },
        methods: {
            change: function () {
                this.msg = '改变了'
            }
        },
        beforeUpdate() {
            console.log(document.getElementById('app').innerHTML)
            
        },
        updated(){
            console.log(document.getElementById('app').innerHTML)
        }
    }
    let vm = new Vue({
        el: '#app',
        data() {
            return {}
        },
        components: {
            comp
        },
    })
ログイン後にコピー

次のステップは破棄フェーズです

7。 beforedestroy( )

インスタンスの破棄フェーズに入ります。インスタンス内のすべてのデータとメソッドは引き続き使用できます。

8.destroyed()

関数インスタンスが破棄され、すべてのデータとメソッドが使用できなくなりました。

プログラミング関連の知識について詳しくは、プログラミング入門をご覧ください。 !

以上がVue のライフサイクル機能を 10 分で詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

vueでechartを使用する方法 vueでechartを使用する方法 May 09, 2024 pm 04:24 PM

vueでechartを使用する方法

vue におけるエクスポートのデフォルトの役割 vue におけるエクスポートのデフォルトの役割 May 09, 2024 pm 06:48 PM

vue におけるエクスポートのデフォルトの役割

vueでのmap関数の使い方 vueでのmap関数の使い方 May 09, 2024 pm 06:54 PM

vueでのmap関数の使い方

vueのeventと$eventの違い vueのeventと$eventの違い May 08, 2024 pm 04:42 PM

vueのeventと$eventの違い

vueのエクスポートとデフォルトのエクスポートの違い vueのエクスポートとデフォルトのエクスポートの違い May 08, 2024 pm 05:27 PM

vueのエクスポートとデフォルトのエクスポートの違い

Vue における onmounted の役割 Vue における onmounted の役割 May 09, 2024 pm 02:51 PM

Vue における onmounted の役割

vue の onmounted は、react のどのライフサイクルに対応しますか vue の onmounted は、react のどのライフサイクルに対応しますか May 09, 2024 pm 01:42 PM

vue の onmounted は、react のどのライフサイクルに対応しますか

vue のイベント修飾子はどのようなシナリオに使用できますか? vue のイベント修飾子はどのようなシナリオに使用できますか? May 09, 2024 pm 02:33 PM

vue のイベント修飾子はどのようなシナリオに使用できますか?

See all articles