情景:列表A,详情B,列表搜索C。B→A,需要缓存列表A,缓存正确,C→A,A也被缓存,搜索不起作用。
解决:
beforeRouteLeave(to,form,next){
if(to.name != 'alarmInfoSon'){
if(this.$vnode && this.$vnode.data.keepAlive){
// 第一种
var key = this.$vnode.parent.componentInstance.keys[0];
var cache = this.$vnode.parent.componentInstance.cache;
delete cache[key];
// 第二种
// this.$vnode.parent.componentInstance.cache={};
// this.$vnode.parent.componentInstance.keys=[];
// 第三种 搜索改成弹窗,在列表A中弹窗
}
}
next();
}