vuex 状态 缓存

1、代码 保存

在 app 页面编写

export default function(ctx){
    //    离开页面
        window.addEventListener('beforeunload', ()=> {
            console.log('触发离开事件')
            sessionStorage.setItem("store",JSON.stringify(ctx.store.state))
        });
//      页面加载完成
        window.addEventListener('load', ()=> {
            console.log('触发加载完成事件')
            let storeCache = sessionStorage.getItem("store")
            if(storeCache != null&&storeCache != undefined&& storeCache!= ''){
                // 普通的state属性高更改的话需要用mutations ,但是如果你修改的是state 根属性的时候,那么
                // 就要使用replaceState 方法了。
                ctx.store.replaceState(JSON.parse(storeCache));
            }
        });
}

 

2. 采用插件// vuex-persist

   

import Vuex from 'vuex'

import Vue from 'vue'

import VuexPersistence from 'vuex-persist'// vux 状态缓存插件

// vuex-persist

const vuexLocal = new VuexPersistence({

  storage: window.localStorage

})

 

Vue.use(Vuex)

const store = new Vuex.Store({

  state: {

    isLogin: false

  },

  mutations: {

    changeLoginStatus (state, params) {

      state.isLogin = params

    }

  },

  actions: {

  },

  modules: {

  },

  plugins: [vuexLocal.plugin]

})

 

export default store


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值