vue的keep-alive在include缓存过的页面从include删除,再次打开还是显示缓存的页面?

作者站长头像
站长
· 阅读数 28
<section class="app-main">
    {{ cachedViews }}  // [A,B]
    <transition name="fade-transform" mode="out-in">
      <keep-alive :include="cachedViews">
        <router-view :key="key" />
      </keep-alive>
    </transition>
  </section>

如果把cachedViews中的A页面删除掉,cachedViews变成[B],然后再次打开A页面,A页面还是有之前缓存的内容(比如页面输入框之前输入的文字),如何让他从cachedViews中删除,再次打开是个全新的页面?

回复
1个回答
avatar
test
2024-06-19

建议排查以下两个方面:

  1. A, B页面组件是否有name属性,以及name属性是否不一致
  2. router-view的key是否不一致
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容