Vue3中如何手动销毁keepalive缓存的组件
如题,我们使用了keepalive缓存了组件,并通过tags做了标签展示。现想要在关闭标签的时候,同时把缓存的组件页一并销毁,以便于从菜单栏里再次打开做到重新加载。
回答
提供一个思路:
试试include,定义一个全局的数组list用来存这个值(可以使用vuex),如 :include="list"。
每次打开一个标签时,这个list数组push进去一个name(就是路由的name,需要注意每个路由都要有name),
每次关闭一个标签时,把list中被关闭的那个name删掉。
通过这种方式应该就可以动态的指定哪些页面需要缓存,哪些不需要缓存,实现关闭一个标签后清除对应页面缓存的效果。