vue中清除路由缓存
beforeRouteLeave (to, from, next) { if (to.name === 'pageA') { /* pageA是需要跳转的路由 */ // console.log('返回管理页面') if (this.$vnode && this.$vnode.data.keepAlive) { if (this.$vnode.parent && this.$vnode.parent.componentInstance && this.$vnode.parent.componentInstance.cache) { if (this.$vnode.componentOptions) { var key = this.$vnode.key == null ? this.$vnode.componentOptions.Ctor.cid + (this.$vnode.componentOptions.tag ? `::${this.$vnode.componentOptions.tag}` : '') : this.$vnode.key var cache = this.$vnode.parent.componentInstance.cache var keys = this.$vnode.parent.componentInstance.keys if (cache[key]) { if (keys.length) { var index = keys.indexOf(key) if (index > -1) { keys.splice(index, 1) } } delete cache[key] } } } } this.$destroy() } next() },