Vue コンポーネントが完全に初期化されたことを知るにはどうすればよいでしょうか?
P粉909476457
P粉909476457 2024-04-05 14:20:24
0
1
1602

つまり、私の Vue コンポーネントには、非同期 created メソッドと、非同期ウォッチャーを備えたいくつかの変数があります。これらの変数は、一部のコンポーネントの template セクションの要素によって v-model として使用されます。ウォッチャーは他のメソッドを呼び出して、これらの変数の値を変更します。

このプロセスは、すべてのデータが初期化され、変数が変更されなくなるまで、一定期間 (数百ミリ秒) 継続します。ここで、すべての変数に初期値が定義されているときに実行する必要があるコードがいくつかあります。しかし、問題は、コンポーネント内のすべてのコードが実行されたことをどうやって確認できるのかということです。

もちろん、created メソッドの最後でコードを実行できますが、template セクションの一部の要素が更新されるため、それらは v- として使用されます。 model 変数の場合、これらのウォッチャーは created メソッドとは独立して実行されますが、created メソッドはウォッチャーよりもずっと前に完了します。 mounted メソッドもウォッチャーより前に終了します。したがって、単に created メソッドの最後にコードを置くことはできません。

それでは、私の質問は、コンポーネントの初期化の最後にコードを実行するにはどうすればよいでしょうか? created メソッドの後、および変数値の変更に関連するすべてのウォッチャーが完了した後ですか?ウォッチャーの最初の実行について言いたいのですが、これは v-model の初期化によって引き起こされ、これは script セクションの要素の初期化によって引き起こされます。コンポーネントのライフサイクルに含まれていない 後でウォッチャーを実行します。したがって、script セクションの要素の初期化が完了し、v-model 変数に関連付けられたウォッチャーが実行された後で、これを実行する必要があります。

どうすればいいですか?

P粉909476457
P粉909476457

全員に返信(1)
P粉724256860

ブール型フラグの配列を使用して、監視する必要があるものをいくつでも監視できます。これらはすべて、初期値が false の個別の配列として初期化され、各モニターは異なるインデックスを true に設定する必要があります。すべてのモニターの実行が完了すると、すべてのフラグが true になり、この配列 を観察することで、すべてが初期化されたことがわかります。

リーリー

Vue プレイグラウンドの例

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート