mpvue封装vuex。vuex持久化储存解决刷新vuex数据清空

前言===
使用mpvue开发微信小程序基本上继承了vue的开发语言。vuex使用也是很方便的,进行简单的封装,以便开发时更方便的使用。同时进行了持久化处理,解决每次刷新页面,vuex 数据清空的问题。用户再次打开时可以保留上次的状态,减少请求。

  • 全局安装vuex ;npm install vuex --save
  • 在store文件下新建index.js
	import Vue from 'vue';
	import Vuex from 'vuex'
	const store = new Vuex.Store({
	  state: {
	    cityName: "北京市",
	    userName:"",
	    userToken:"",
	    adCode:"110101",
	    cityCode:"110101",
	    phone:"",
	    address:"",
	    headerImg:"",
	    wxOpenID:"",
	    isConnected:true,
	    allowAddress:false
	    
	  },
	  mutations: {
	    update(state, config) {
	      Object.keys(config).map((item, key) => {
	        state[item] = config[item]
	     })
	  }
 	 }

	export default store;
  • 在main.js中引入,并挂载到全局
	import store from './store/index'
	Vue.prototype.$store = store;
  • 更新store数据==直接update跟新store 不需要写过多的mutations
	computed: {
	...mapState(["cityName","allowAddress","adCode"]),
	},

	methods:{
		 ...mapMutations(["update"]),

		update(){
			this.update({ 
				cityName: res.data.result.ad_info.city,
				allowAddress:true,
				adCode:cityCode,
				cityCode:cityCode
			});
		}
	}
  • vuex 持久化

    1.npm install vuex-persistedstate --save
    2.在store 中引入

	import createPersistedState from 'vuex-persistedstate'

3.实例化时添加

	 plugins: [
	    createPersistedState({
	      storage: {
	        getItem: key => wx.getStorageSync(key),
	        setItem: (key, value) => wx.setStorageSync(key, value),
	        removeItem: key => () => {}
	      }
	    })
	  ]
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老杨、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值