前阵子使用vuex-persist插件来解决,页面刷新,vuex数据不更新的问题。vuex在各个页面之间跳转,如果刷新某个视图,页面数据不会丢失了。但是在运用过程中又碰到了恶心的问题,上一次在Chrome,火狐上开发,没有问题,然后就没管这个插件的兼容性问题,上周项目交互测试打包看下项目的时候,在IE上发现打开空白,打开控制台发现报错。
既然vuex-persist在ie有问题,就得换个插件了,在网上找到vuex-persistedstate,通过测试没有问题。具体配置如下。
第一步:安装插件
npm install --save vuex-persistedstate
第二步:在main.js引入
//import VuexPersistence from 'vuex-persist'
import persistedState from 'vuex-persistedstate'
//创建个对象用于存储
//const vuexLocal = new VuexPersistence({
// storage: window.localStorage
//})
//引入进vuex组件
const store = new Vuex.Store({
state: { ... },
mutations: { ... },
actions: { ... },
//plugins: [vuexLocal.plugin]
plugins: [persistedState()]
})
默认存储是到localStorage
如果想要存储到sessionStorage,配置如下
import persistedState from 'vuex-persistedstate'
const store = new Vuex.Store({
// ...
plugins: [persistedState ({
storage: window.sessionStorage
})]
})