Skip to content

ルートキャッシュ

原理

ルートキャッシュは、vue-routerkeep-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
  }
}

MITライセンスの下で公開