在Vue3中使用pinia实现持久化

第一步:安装pinia以及持久化插件pinia-plugin-persist

yarn add pinia pinia-plugin-persist

第二步:在main.js中全局引入

// 使用pinia作为临时仓库
import { createPinia } from 'pinia'
// 引入持久化插件
import piniaPluginPersist from 'pinia-plugin-persist'
const pinia = createPinia()
// 使用该插件
pinia.use(piniaPluginPersist)
app.use(pinia)

第三步:在src文件夹下创建store文件夹并在其下创建index.js文件作为临时仓库

import { defineStore } from 'pinia'
export const useStore = defineStore('store', {
  state: () => {
    return {
      isCollapsed: false,// 侧单栏是否折叠
    }
  },
  actions: {
    // 修改侧单栏的折叠状态的方法
    setCollapsed (value) {
      this.isCollapsed = value
    }
  },
  // 使用该插件,开启数据缓存
  persist: {
    enabled: true,   // 表示启用数据持久化
    // 使用strategies可以自定义持久化存储
    /*
      如果只写storage的话,就是将所有的数据都存储下来
      key:指定要持久化的状态的键名。这个键名将用于在持久化存储中存储和检索状态的值。
      storage:指明要将数据存储到localStorage还是sessionStorage当中
      paths:指明要持久化存储的字段是那些
    */
    strategies: [
      // isCollapsed字段用 localstorage存储
      { storage: localStorage },
       
       // 如果不写 key 和 paths 属性,则表示将所有状态都进行持久化存储。这意味着所有在 state 中定义的状态属性都会被存储到本地存储中
      // {key:'store', storage: localStorage, paths: ['isCollapsed'] },
    ],
  },
})

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值