刷新页面vue实例重新加载,store被重置,可以把定义刷新前把store存入本地localStorage、sessionStorage、cookie中,localStorage是永久储存,重新打开页面时会读取上一次打开的页面数据,sessionStorage是储存到关闭为止,cookie不适合存大量数据。根据自己的需求可以选择合适的储存方法。

import { SITE, FACTOR } from "@/store/mutation-types"

const data = {
    state: {
        site:JSON.parse(localStorage.getItem("site")) || [], //站点
        factor:JSON.parse(localStorage.getItem("factor")) || []//因子
    },
    actions: {

    },
    mutations: {
        SITE: (state, arr) => {
            localStorage.setItem('site', JSON.stringify(arr))
            state.site = arr
        },
        FACTOR: (state, arr) => {
            localStorage.setItem('factor', JSON.stringify(arr))
            state.factor = arr
        },
    }
}
export default data

如果需要存储到sessionStore只需要将localStorage换成sessionStore即可。

获取数据可以设置在登录后获取

import store from '@/store/'
	
getAllInstruments().then(res => {
				store.commit('SITE', res)
			})

PS:SITE,FACTOR是状态的公共变量,定义后直接修改其状态会更清晰,方便管理

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐