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()
    },
}