Pinia 数据持久化储存(pinia-plugin-persistedstate),简单入门使用(有手就行系列)

news/2025/2/12 4:02:54/

1.安装依赖npm install  pinia-plugin-persistedstate

2.在main.js导入

import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';
app.use(createPinia().use(piniaPluginPersistedstate))

完整代码参考

import { createApp } from 'vue'
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';
import App from './App.vue'
import router from './router'
import vant from 'vant';
import 'vant/lib/index.css';import './assets/main.css'// 请求接口封装
import http from './http/http'
window.$http = http// 组件与组件之间通信
import mitt from "mitt"
window.$mybus = mitt()import Vconsole from 'vconsole';const vConsole = new Vconsole();const app = createApp(App)app.use(createPinia())
app.use(createPinia().use(piniaPluginPersistedstate))app.use(router)
app.use(vant)
app.use(vConsole);// 定义全局Loading组件
import MyLoading from './components/MyLoading.vue';
app.component('MyLoading', MyLoading)
//定义全局Svg组件
import SvgIcon from '@/components/SvgIcon.vue';
app.component('SvgIcon', SvgIcon)app.mount('#app')
const onFail = () => {console.log("失败",);
}
const onSuccess = () => {console.log("成功",);
}
document.addEventListener("deviceready", () => {AppUpdate.checkAppUpdate(onSuccess, onFail, import.meta.env.VITE_APP_UPD_URL);StatusBar.overlaysWebView(true);// cordova.plugins.backgroundMode.enable();//软件保活
}, false);

3.开启存储

  persist: {

    enabled: true,

  },

参考代码

import { defineStore } from 'pinia';
export const useSelectAnnotationLayerStore = defineStore('selectAnnotationLayerelectAnnotationLayerStore', {state: () => ({selectAnnotationLayer: {pointLayer: '物探测点',lineLayer: '物探测线',polygonLayer: '不良地质体',},selectVectorLayerCheckedList: ['物探测点', '调绘点', '点采集', '物探测线', '界线', '不良地质体'], //选中的矢量图层selectGeologicalLayerCheckedList: [], //选中的区域地质图层allGeologicalLayerList: [{ label: '广东构造体系图', value: 'L4674fbe9a3c24eba8f6b2bc4ca88349d' }],}),getters: {},actions: {SET_SELECT_ANNOTATION_LAYER(data) {this.selectAnnotationLayer = data;},SET_SELECT_VECTORLAYER_CHECKED(data) {this.selectVectorLayerCheckedList = data;},SET_SELECT_GEOLOGICAL_LAYER_CHECKED(data) {this.selectGeologicalLayerCheckedList = data;},SET_ALL_GEOLOGICAL_LAYER_CHECKED(data) {this.allGeologicalLayerList = data;},},persist: {enabled: true,},
});

4.查看SessionStorage是否缓存成功

5.补充

默认将数据存放在浏览器的localstore。

将store的state中的数据进行部分缓存(使用paths)

  persist: {enabled: true,paths: ['selectGeologicalLayerCheckedList', 'allGeologicalLayerList'],},

按图上搜到的方法并不可以,可能api过时了,需要的可以参考官方文档

Configuration | pinia-plugin-persistedstate


http://www.ppmy.cn/news/744369.html

相关文章

解决微信浏览器苹果手机复制的时候连旁边的也复制的办法

<p class"fl"><span class"num">dgfdgfh</span><span>长按复制</span></p><div class"fr">点击兑换</div>在iphone手机上点击class是num这个类的时候会连旁边的 div和长按复制也一起选择&#…

【Redis】五大数据类型(操作命令)

&#x1f3af;Redis 命令 &#x1f6a9;Redis 键(key) 这些是 Redis 数据库中的命令&#xff0c;用于对数据类型进行操作和管理。以下是每个命令的含义和用法&#xff1a; DUMP&#xff1a;将指定键的值序列化&#xff0c;并将序列化后的值作为结果返回。可以使用该命令来备…

git-gitHub-本地仓库-远程仓库-github静态页面相关配置-docusaurus项目相关配置以及部署

文章目录 预备知识 —— git分支变基&#xff08;rebase&#xff09;远程仓库&#xff08;remote&#xff09;远程库的操作的命令tag 标签gitignoregithub 的静态页面docusaurus 预备知识 —— git 安装&#xff08;略&#xff09; 配置 配置 name 和 email git config --glob…

修改boot.img制作内置root权限

准备工作&#xff1a; 下载 官方Full-OTA update.zip。从这里找 pro-teammt.ru/firmware-database/?firmware_model&firmware_page1 &#xff0c;搜搜自己的手机型号&#xff08;可从“关于手机/型号”中查看&#xff09;&#xff0c;比如 荣耀V10高配版为BKL-AL20。下载…

Python习题(附答案)7集合与字典

头歌实践教学平台——​Python编程技术 集合与字典 创建客服电话字典客服电话查询电话簿更新删除某公司电话数据统计查询省会手机销售统计查找数列中重复数字字符串去重排序个人数据合并查找数字大学排行榜分析 第1关&#xff1a;创建客服电话字典 任务描述 本关任务&…

Android批量打包-如何一秒内打完几百个apk渠道包

在国内Android常用渠道可能多达几十个&#xff0c;如&#xff1a; 谷歌市场、腾讯应用宝、百度手机助手、91手机商城、360应用平台、豌豆荚、安卓市场、小米、魅族商店、oppo手机、联想乐商、中兴汇天地、华为、安智、应用汇、木蚂蚁、3G安卓市场(久邦开发者发布系统) uc应用商…

IPv6主要知识

IPV6相较于IPV4有如下几点优点 1、“无限”地址空间&#xff0c;地址长度为128比特、海量的地址空间&#xff0c;满足物联网等新兴业务&#xff0c;有利于业务演进及扩展。 2、层次化的地址结构 &#xff0c;相较于IPV4地址&#xff0c;IPV6地址的分配更加规范&#xff0c;利…

二叉树的存储表示

二叉树的数组存储表示 在数据处理过程中二叉树的大小、形态不发生剧烈的动态变化的场合&#xff0c;适宜采用数组方式来表示二叉树的抽象数据类型 1、完全二叉树的数组存储表示 设有一棵完全二叉树&#xff0c;将其所有结点按照层次自顶向下、同一层自左向右进行按序编号1 - n…