Caching 使用Vue keep alive可以缓存多少组件?

Caching 使用Vue keep alive可以缓存多少组件?,caching,vue.js,vuejs2,vue-router,keep-alive,Caching,Vue.js,Vuejs2,Vue Router,Keep Alive,我在路由器视图中使用保持活动状态,如下所示: <keep-alive> <router-view></router-view> <keep-alive> <keep-alive :include="[componentToKeepAlive.name]"> <router-view></router-view> <keep-alive> ...mapGetters({ compone

我在路由器视图中使用
保持活动状态
,如下所示:

<keep-alive>
  <router-view></router-view>
<keep-alive>
<keep-alive :include="[componentToKeepAlive.name]">
  <router-view></router-view>
<keep-alive>


...mapGetters({
  componentToKeepAlive: 'global/componentToKeepAlive'
})

所以我保存了我应用程序的所有“页面”。我的问题是:

  • 可以保存多少组件

  • 我是否可以编程使keep alive只保存一个组件(最后一个)


提前感谢

我使用@zizzo的建议找到了解决问题的方法。我在vuex中保存了要保存的组件(最后一个)。代码是这样的:

<keep-alive>
  <router-view></router-view>
<keep-alive>
<keep-alive :include="[componentToKeepAlive.name]">
  <router-view></router-view>
<keep-alive>


...mapGetters({
  componentToKeepAlive: 'global/componentToKeepAlive'
})

…地图绘制者({
ComponentTokePaLive:“全局/ComponentTokePaLive”
})

您看到这个了吗?看起来您可以使用to-be-dynamic数组(
v-bind:include=“['dashboard']
,在示例中)。因此,您可以尝试在arrayHello@zizzo中只保留最后加载的组件的名称,谢谢您的响应。我确实看到了,但我想不出如何使用此逻辑来销毁当前的保持活动并保存下一个组件:/I我不知道保持活动的当前组件,也不知道下一个组件。您知道我该怎么做吗它?我从未尝试过,但我想您可以使用,在加载新组件之前(因为用户希望浏览新页面),您可以将当前组件的名称保存在keep alive的包含数组中,并删除前一个,以便“将始终只有一个组件。@zizzo这是一个非常好的想法。我试试看。非常感谢你!