VUE keep-alive 缓存如何销毁

2020-02-28  本文已影响0人  saashang

开发的系统功能在切换职责的时候需要清理缓存页面,否则不同职责包含相同页面的时候,如果有缓存的情况下会把上一个职责缓存过的页面直接显示出来,但是权限控制就有问题,所以在切换职责菜单的时候一定要把缓存清理干净;

网上搜了一圈并测试,没有找到一个合适的,而且keep-alive这个组件也没有提供清理缓存的API,没办法看了一下keep-alive源码:https://github.com/vuejs/vue/blob/dev/src/core/components/keep-alive.js

实现,他的销毁是: cached.componentInstance.$destroy();

OK,尝试一下在每个页面activated 的时候我也把 this.$vnode缓存起来,在切换职责的时候遍历并销毁;测试一下 OK 搞定。

上一篇下一篇

猜你喜欢

热点阅读