P粉6114563092023-08-26 09:17:09
Vue は、再計算する前に最終結果が変更されたかどうかを知ることができないからです。したがって、計算された変数は依存関係が変更されるたびに再計算されますが、これは避けられません。
よくある誤解は、Vue は変数の値を計算することによって計算された変数をキャッシュするというものですが、実際には、Vue は依存関係の状態によって計算された変数をキャッシュします。
オブザーバーを作成したり (ご存知のとおり)、計算された値を使用してテンプレートをコンポーネントにラップしたりすることができます。
なぜここで別のコンポーネントのヘルプにラップするのでしょうか?
Vue がテンプレートをレンダリング関数に変換するためです。関数は、依存関係が変更されるたびに再計算されます。おなじみですね?はい、計算変数のように機能します。 render 関数の依存関係は、テンプレートで使用するすべての変数です。したがって、頻繁に変更される変数をコンポーネントにラップすると、Vue はそのコンポーネントのみを再レンダリングし、大きなコンポーネントの再レンダリングを回避します。これはパフォーマンスに大きな影響を与えます