|
这篇文章主要为大家介绍了vue运用之vuex持久化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
vuex持久化- vuex:刷新浏览器,vuex中的state会重新变为初始状态
复制代码 解决办法:- 使用vuex-persistedstate插件 (实际就是自动存在本地存储中)
复制代码
- 安装 npm i -S vuex-persistedstate
- 引入及配置:在store下的index.js中
- import Vue from 'vue'
- import Vuex from 'vuex'
- //引入
- import persistedState from 'vuex-persistedstate'
- Vue.use(Vuex)
- export default new Vuex.Store({
- state: {
- num: null,
- name: null
- },
- mutations: {
- getNum(state, val) {
- state.num = val
- },
- getName(state, val) {
- state.name = val
- }
- },
- //配置
- plugins: [
- persistedState({
- //默认使用localStorage来固化数据,也可使用sessionStorage,配置一样
- storage: window.localStorage,
- reducer(val) {
- return {
- // 只储存state中的值
- num: val.num,
- name: val.name
- }
- }
- })
- ]
- })
复制代码 我在Home组件中给vuex中的state中变量赋值- created(){
- this.$store.commit('getNum',3)
- this.$store.commit('getName','胡歌')
- },
复制代码 在H组件中引用- ‹template>
- ‹div>
- {{$store.state.num}}
- {{$store.state.name}}
- ‹/div>
- ‹/template>
复制代码 这样刷新H组件,$store.state中的变量不会变,其实就是自动存在本地存储中
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

|
|