Vuex数据持久化存储

vuex数据在刷新的时候会初始化,之前的数据就拿不到了,我们怎么解决呢?

解决:把数据持久化存储(state中的数据做一个持久化存储)

1、我们可以使用localStorage进行存储

存在localStorage的话,数据不会因为页面或浏览器的关闭而初始化,只有我们手动在浏览器中进行清除

在Vuex初始化的时候我们就先用localStorage里面读取之前的数据,并存储在state中(下面我们写一个案例来看一下会更加清晰一点)

1、首先我们可以在 state中进行localStorage对数据进行存储,然后在mutations下有一个修改方法。

2、我们绑定一个方法进行加一操作

<template>
  <div class="home">
    {{$store.state.count}}
    <!-- 绑定一个方法 -->
    <button @click="$store.commit('setCount')">加一</button>
  </div>
</template>

 2、使用插件进行持久化存储(vuex-persist)

安装:
        npm install vuex-persist -s

引入:

import VuexPersistence from "vuex-persist"

创建持久化存储对象;


var vueLocal=new VuexPersistence({
  // storage 存储方式  默认的是localStorage存储,可以修改成会话存储(window.sessionStorage)
  storage:window.localStorage
})

还是在state中定义数据,在mutations中修改方法,最后我们使用一下这个插件

 然后绑定一个方法演示一下

 

  • 11
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值