在web的pubile中加入session_storage.js:
// 所有的session key都在这里统一定义,可以避免多个功能使用同一个key SESSION_ORDER = "SESSION_ORDER"; SESSION_TICKET_PARAMS = "SESSION_TICKET_PARAMS"; SessionStorage = { get: function (key) { // 浏览器关闭下一次重新打开还是能读取缓存: localStorage // 会话缓存 只对当前会话有用:sessionStorage var v = sessionStorage.getItem(key); if (v && typeof(v) !== "undefined" && v !== "undefined") { //转换成对象json格式 return JSON.parse(v); } }, set: function (key, data) { //放一个对象 转成json数据 sessionStorage.setItem(key, JSON.stringify(data)); }, remove: function (key) { sessionStorage.removeItem(key); }, clearAll: function () { sessionStorage.clear(); } };在
在index.html中加入:
<!-- <%= BASE_URL %>对应的就是public目录--> <script src="<%= BASE_URL %>js/session-storage.js"></script>
在store的index.js加入:
const MEMBER = "MEMBER";
member:window.SessionStorage.get(MEMBER) || {} 和 window.SessionStorage.set(MEMBER,_member)
如下:
import { createStore } from 'vuex' const MEMBER = "MEMBER"; export default createStore({ //获取实体类属性 state: { //全局变量 member:window.SessionStorage.get(MEMBER) || {} }, //格式转换 getters: { }, //值的修改 mutations: { //set设置值 //_membe r带表外部传入的值 setMember(state,_member){ state.member = _member; window.SessionStorage.set(MEMBER,_member) } }, //异步任务 actions: { }, //模块化 modules: { } })