vuex刷新数据丢失问题
最近在做按钮权限控制,通过登录时保存后端返回的权限按钮列表至vuex时发现刷新页面时vuex中保存的数据会丢失。解决办法有两种,1.获取后保存至本地2.通过插件保存数据
一、通过本地存储localstorage保存数据,src/store中的相应js中使用
state:{
pmh:localStorage.getItem('buttons')||[]
},
mutations:{
SET_BUTTONS:(state,buttons)=>{
state.buttons=buttons
localStorage.setItem('buttons',buttons)
}
}
二、通过插件vue-savedata保存数据
1.安装vue-savedata
npm install vue-savedata --save
2.src/store中的相应js中使用
import saveData from 'vue-savedata'
const store = new Vuex.Store({
state: {
selected: {},
},
mutations: {
setSelected(state, payload) {
state.selected = payload
},
},
//缓存所有store数据到本地 也可以单独缓存
plugins: [saveData()],})
export default store;