keep-alive
destroy component cash
clearComponentCache: (param) => {
const component = param.matched[0].instances.default;
if (component && component.$vnode && component.$vnode.data.keepAlive) {
if (component.$vnode.parent && component.$vnode.parent.componentInstance && component.$vnode.parent.componentInstance.cache) {
if (component.$vnode.componentOptions) {
const key = component.$vnode.key ?
component.$vnode.key :
component.$vnode.componentOptions.Ctor.cid + (component.$vnode.componentOptions.tag ? `::${component.$vnode.componentOptions.tag}` : '');
const cache = component.$vnode.parent.componentInstance.cache;
const keys = component.$vnode.parent.componentInstance.keys;
if (cache[key]) {
if (keys.length) {
const index = keys.indexOf(key);
if (index > -1) {
keys.splice(index, 1);
}
}
delete cache[key];
}
}
}
}
}