首页 > 其他分享 >pinia持久化存储插件-pinia-plugin-persistedstate

pinia持久化存储插件-pinia-plugin-persistedstate

时间:2023-08-13 14:34:21浏览次数:33  
标签:插件 持久 pinia 自定义 plugin key const store

pinia-plugin-persistedstate 丰富的功能可以使 Pinia Store 的持久化更易配置:

  • vuex-persistedstate 相似的 API
  • 所有 Store 均可单独配置
  • 自定义 storage 和数据序列化
  • 恢复持久化数据前后的 hook
  • 每个 Store 具有丰富的配置
  • 兼容 Vue 2 和 3
  • 无任何外部依赖

安装

使用你喜欢的js包管理器安装,比如npm

npm i pinia-plugin-persistedstate

将插件添加到 pinia 实例上(编辑main.js)

import { createPinia } from 'pinia'
// 导包
**import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'**

const pinia = createPinia()
// 初始化
**pinia.use(piniaPluginPersistedstate)**

使用方法

在创建store仓库时,添加store的选项(组合式api定义store)

import { defineStore } from 'pinia'

// 在定义store的时候提供第三个options参数对象。
export const useStore = defineStore(
  'main',
  () => {
    const someState = ref('你好 pinia')
    return { someState }
  },
**  {
    persist: true,
  }**
)

选项式:

import { defineStore } from 'pinia'

export const useStore = defineStore('main', {
  state: () => {
    return {
      someState: '你好 pinia',
    }
  },
  persist: true,
})

现在,你的整个 Store 将使用默认持久化配置保存。

默认持久化保存配置如下:

自定义

如何你不想使用默认持久化保存配置,将一个对象传递给 Store 的 persist 属性来配置持久化。

import { defineStore } from 'pinia'

// 在定义store的时候提供第三个options参数对象。
export const useStore = defineStore(
  'main',
  () => {
    const someState = ref('你好 pinia')
    return { someState }
  },
  {
    // persist: true, 改成给定一个对象配置,即可自定义。
    persist: {
      // 在这里自定义配置
    },
  }
)

常用自定义配置项:

key: 指定storeage中存储的key名,默认为store的key-id。有时候太简单容易和别的冲突,所以一般可以自定义key名。

**paths: ** 指定state中那些数据需要被持久化存储。默认是持久化所有state中的数据。

实例:

    persist: {
      // 将存储的key名改成mychannel
      key: 'mychannel',
      // 只是将channelList持久化存储
      paths: ['channelList']
    }

效果:

标签:插件,持久,pinia,自定义,plugin,key,const,store
From: https://www.cnblogs.com/juelian/p/17626544.html

相关文章

  • mysql在安装group_replication插件时,报错"version libcrypto.so.10 not defined in fi
    问题描述:mysql在安装group_replication插件时,报错"versionlibcrypto.so.10notdefinedinfilelibcrypto.so",如下所示:数据库:mysql8.0.27系统:rhel7.364位1、异常重现mysql>installplugingroup_replicationsoname'group_replication.so';ERROR1126(HY000):......
  • idea实用插件推荐(3)-Alibaba Java Coding Guidelines
    1.安装插件打开File->Settings选择Plugins->Maketplace->搜索框输入Alibaba->找到AlibabaJavaCodingGuidelines->Install安装成功后,重启idea2.使用2.1代码实时检测不规范的代码会有提示点击右边的三个点,可以查看修复建议2.2代码扫描选择需要检查的模块,右键编码......
  • 硬件管理平台-硬件网关-插件模块-集成(上)
    硬件管理平台-硬件网关-插件模块-集成(上)本章内容本章主要是将插件项目(HardwareGatewayPlugin)集成到HardwareGatewayWebApi项目中。操作创建单例模式类由于HardwareGatewayWebApi项目是WebApi项目,可能后续还会有其他controller加入进来,因此我们的插件模块只针对HardwareGatewa......
  • 硬件管理平台-硬件网关-插件模块-配置文件
    硬件管理平台-硬件网关-插件模块-配置文件上一篇仅仅将反射的基础模块进行了添加,不过还有很重要的一个配置文件还未进行添加,本文将讲述ini配置文件的添加方式何谓配置文件例如在HardwareGatewayService项目中读取App.config文件或log4net读取config.xml文件相同,本项目也需要添......
  • 硬件管理平台-硬件网关-插件模块
    硬件管理平台-硬件网关-插件模块前言硬件产品库最终导出了硬件及其相关的依赖项,接下来就需要将依赖项放入到网关项目中,放入后需要做两个动作,第一个是通过硬件配置软件将压缩包解压并放入指定位置,然后进行该硬件的具体操作,另一个是硬件网关服务启动后,将特定目录下的硬件添加到网......
  • idea实用插件推荐(1)-Grep Console
    1.简介GrepConsole可以根据日志等级设置不同的颜色,效果如下:安装点击File->Settings在搜索框里输入GrepConsole,点击install即可安装使用安装成功后,在idea控制台右键点击ShowGrepConsoleStatisticsinConsole,即可设置对应日志级别的颜色公众号:1号程序员,关注回复B0......
  • 使用pip安装pycharm插件时,要使用管理员权限打开cmd安装
    1.问题安装到一半报错报错1报错22.解决解决1原文:https://blog.csdn.net/weixin_44899752/article/details/128372969下面是收集的一些国内的pip源:阿里云http://mirrors.aliyun.com/pypi/simple/中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban)h......
  • 视频获取缩略图使用ffmpeg插件
      stringmp4URL=Server.MapPath("~/Upload/")+"33.mp4";stringOutURL=Server.MapPath("~/Upload/")+DateTime.Now.ToString("yyyyMMddHHmmssfff")+".png";ffmpeg(mp4URL,OutURL,3); ......
  • vscode插件推荐
    原文链接:https://www.cnblogs.com/MrFlySand/p/17623887.htmlmarkdown预览【推荐文章】VsCode更换MarkDown样式到底能有多好看?博客园VSCode客户端将本地markdown发布到博客园博客园博文列表搜索博文将本地文件关联到博客园博文拉取远程博文内容更新本地文件Mark......
  • 传奇架设服务端传奇GOM引擎不加载插件,写入了不加载的解决方法
    vsftpd(verysecureFTPdaemon)是Linux下的一款小巧轻快、安全易用的FTP服务器软件。本教程介绍如何在Linux实例上安装并配置vsftpd。前提条件已创建ECS实例并为实例分配了公网IP地址。背景信息FTP(FileTransferProtocol)是一种文件传输协议,基于客户端/服务器架构,支持以下两种工作模......