mixinKeepAlive.js
591 Bytes
export default {
beforeRouteEnter(to, from, next) {
next(vm => {
if (to.meta.keepAlive && to.meta.keepAlivePage) {
vm.$store.commit('common/MSaveKeepAlive', to.name)
}
})
},
beforeRouteLeave(to, from, next) {
const keepAlivePage = from.meta.keepAlivePage
if (from.meta.keepAlive && keepAlivePage) {
const isValue = keepAlivePage.includes(to.name)
if (!isValue) {
this.$store.commit('common/MRemoveKeepAlive', from.name)
}
}
next()
},
}