Vueライフサイクルカメラの8つのフック関数

Vueライフサイクルカメラの8つのフック関数

1. beforeCreateとcreated関数

BeforeCreate と created は、初期化 (データ監視とデータ プロキシ) によって分割されます。

beforeCreate() を実行する前に、ライフサイクルと時間が初期化されますが、データ プロキシはまだ開始されていません。

(1)beforeCreate():データ監視とデータプロキシを初期化する前に、beforeCreate関数の内容が実行されます。現時点では、data 内のデータと methods 内のメソッドには Vm 経由でアクセスできません。

(2)created():データ監視とデータプロキシを初期化した後、beforeCreate関数の内容を実行します。この時点で、データ内のデータとメソッドに設定されたメソッドにvmを介してアクセスできます。

データがマウントされる前に、Vue がテンプレートを解析する (仮想 DOM を生成する) という別のステップがあります。解析されたコンテンツをページにまだ表示することはできません。

2. beforeMountとmount関数

(3)beforeMount(): Vueが仮想DOMの生成を完了した後、仮想DOMを実際のDOMに変換する前に実行されます。この時点で、ページには Vue によってコンパイルされていない DOM 構造が表示され、DOM に対するすべての操作は最終的に失敗します。

(4)mounted():仮想DOMが実DOMに変換された後に実行されます。この時点で、ページには Vue によってコンパイルされた DOM が表示され、DOM に対するすべての操作が有効になります (可能な限り回避してください)。初期化プロセスはここで終了します。通常、タイマーの開始、ネットワーク要求の送信、メッセージのサブスクライブ、カスタム イベントのバインドなどの初期化操作がここで実行されます。

3. beforeUpdate と updated 関数

(5)beforeUpdate():データが変更されると、新しい仮想DOMが生成され、古い仮想DOMと比較され、ページ更新(Model-》View)プロセスが最終的に完了する前に実行されます。この時点では、データは新しいですが、ページは古い、つまり、ページはまだデータと同期されていません。

(6)updated():データが変更されると新しい仮想DOMが生成され、古い仮想DOMと比較され、ページ更新(Model-》View)処理が完了した後に実行されます。この時点では、データは新しく、ページも新しく、つまりページとデータは同期されている。

4. beforeDestroy と destroy 関数

(7)beforeDestroy():データ監視、子要素、イベントリスニングを削除する前に実行されます。この時点で、VM 内のすべてのデータ、メソッド、命令などが使用可能な状態になり、破棄プロセスが実行されようとしています。通常、この段階では、タイマーのクローズ、メッセージの登録解除、カスタム イベントのバインド解除、その他の終了操作が実行されます。この時点ではすべてにアクセスできますが、操作を実行してもページ上のコンテンツは変更されません。

(8)destroyed():データ監視、子要素、イベントリスニングが削除された後に実行されます。ページ上のデータ、メソッド、命令などをアンバインドします。

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue ライフサイクルにおけるコンポーネント化をご存知ですか?
  • Vue のライフサイクルとフック関数
  • Vue ライフサイクルの紹介とフック関数の詳細な説明
  • Vueコンポーネントライフサイクルフックの詳細な使用例

<<:  ページに間隔を空けてグリッドレイアウトを完璧に実装する方法

>>:  canvas.toDataURL image/png エラー処理方法の推奨

推薦する

in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明

in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明コード例: <se...

MySQL ジョイントインデックスの使用ルール

結合指数は複合指数とも呼ばれます。複合インデックスの場合: MySQL はインデックス内のフィールド...

ボタンを使用してフォームを送信する代わりに、画像を使用してフォームを送信します。

コードをコピーコードは次のとおりです。 <フォームメソッド="post" ...

Linux で指定された期間に数分ごとにタスク スケジュール crontab を自動的に実行する方法

まずコードを見てみましょう #/bin/sh datename=$(日付 +%Y%m%d-%H%M%...

Kylin 4.0.2 (Ubuntu) でブート パーティションを拡張するプロセスの紹介

目次序文1. 新しいパーティションを準備する2. ブートパーティションをコピーする3. fstabフ...

HTMLドキュメントタイプの詳細な説明

私のは: <!DOCTYPE html>ブログガーデン: <!DOCTYPE HT...

フレームウィンドウ間の関連付けとハイパーリンクのターゲット属性の使用を実装する方法

フレーム ウィンドウの関連付けを実現するには、次に示すように、ハイパーリンクの「ターゲット」ウィンド...

Linuxオンラインソフトウェアgccをオンラインでインストールする方法

Linux オンラインインストール関連コマンド: yum install: すべてインストールyum...

Zabbix で監視項目と集約されたグラフを設定するためのサンプルコード

1. ローカルマシンを監視するためにZabbixエージェントをインストールするエージェントソフトウェ...

Windows に Docker と docker-compose スイートをインストールするための詳細なチュートリアル

目次導入ダウンロードしてインストールする設定docker-composeをインストールする導入Doc...

JS ES6コーディング標準の詳細な説明

目次1. ブロックスコープ1.1. let は var を置き換える1.2. グローバル定数とスレッ...

Mysql の varchar 型に関する注意点

varchar の保存ルール4.0 未満のバージョンでは、varchar(20) は 20 バイトを...

実務経験7年のフロントエンドスーパーバイザーによる経験共有

今日はベテランの貴重な経験を共有します。著者は技術管理の経験が7年あり、多い時は80人以上を率いてい...

CSSで記事の区切り線のスタイルを実装するさまざまな方法のまとめ

この記事では、CSS で記事の区切り線を実装するさまざまな方法をまとめています。区切り線はページを美...

MySQL データベースの鉄則 (要約)

適切なデータベース仕様は、ソフトウェア実装の複雑さを軽減し、通信コストを削減するのに役立ちます。この...