开发的系统功能在切换职责的时候需要清理缓存页面,否则不同职责包含相同页面的时候,如果有缓存的情况下会把上一个职责缓存过的页面直接显示出来,但是权限控制就有问题,所以在切换职责菜单的时候一定要把缓存清理干净;
网上搜了一圈并测试,没有找到一个合适的,而且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 搞定。
网友评论