ルートキャッシュ
原理
ルートキャッシュは、vue-router の keep-alive コンポーネントを使用して実現されています。keep-alive コンポーネントは、コンポーネントの状態をキャッシュし、コンポーネントが再度アクセスされたときに、新しいコンポーネントを再作成するのではなく、キャッシュからコンポーネントを直接取得します。 keep-alive コンポーネントは、コンポーネントの name プロパティをキャッシュのキーとして使用するため、プロジェクト内のページコンポーネントはすべて @elegant-router/vue プラグインを介して name プロパティが自動的に注入されているので、ルートデータの meta プロパティにある keepAlive フィールドを設定するだけで済みます。 vue-router の多階層ルートキャッシュには問題があるため、プロジェクト内のルートデータはすべて二階層ルートに変換され、各ルートが正常にキャッシュされるように保証されています。
使い方
ルートデータの meta プロパティにある keepAlive フィールドを設定することで、ルートがキャッシュされるかどうかを制御できます。
ts
{
name: 'about',
path: '/about',
component: 'layout.base$view.about',
meta: {
title: 'about',
keepAlive: true
}
}