Pinia的介绍、使用及持久化

Pinia介绍

什么是Pinia?

Pinia 是 Vue 的最新 状态管理工具,状态就是数据。

通俗地讲:Pinia 是一个插件,可以帮我们管理 vue 通用的数据 (多组件共享的数据)。

比如一份数据有多个组件需要使用,在学Pinia之前我们需要用父子组件通信这样麻烦的方法,但是学习了Pinia之后,我们只需要把这些需要共享的数据扔进一个数据仓库,在需要使用这些共享数据的组件中导入这个数据仓库就可以了

使用场景

① 某个状态在很多个组件来使用 (比如个人信息)

② 多个组件共同维护一份数据

优势

① 共同维护一份数据,数据集中化管理

② 响应式变化

③ 操作简洁 (提供了一些辅助函数)

使用

在创建项目时,只要你在“是否引入Pinia用于状态管理”这一项中选择了“是”

那么创建的项目中就会有一个stores文件夹,并且里面有一个counter.ts文件,这个文件就是你的数据仓库

 

我们不妨先来看看counter.ts中的内容,counter.ts中非常友好地写了简单易懂的demo,红字是我对代码的标识,相信聪明的你们一看就懂

组件中使用仓库中的数据,看看下面的代码示例吧

// 导入 useCounterStore 方法
import { useCounterStore } from '@/stores/counter'
// 执行 useCounterStore 方法得到 counterStore对象,对象中存放了数据仓库中的数据
const counterStore = useCounterStore()
//使用仓库中的数据和方法
counterStore.increment()
const number = counterStore.count

持久化

有时我们希望仓库中的数据持久化存储在我们本地,这是就要引入持久化插件了

1、进入持久化插件网站:

快速开始 | pinia-plugin-persistedstate (prazdevs.github.io)

2、安装

pnpm i pinia-plugin-persistedstate

3、main.js 使用

在main.js(或main.ts,你懂的)中加入这三行代码

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

4、在数据仓库中,将 persist 选项设置为 true

Vue2选项式语法

import { defineStore } from 'pinia'

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

Vue3组合式语法

import { defineStore } from 'pinia'
import { ref } from 'vue'

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

现在你的数据就已经是持久化的啦,写写代码测试一下效果吧!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/675736.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

nginx 中文文档

nginx 中文文档 中文文档

单枪匹马月入17万美元:数字游民Pieter Levels如何成就商业传奇

了解数字游民的应该都听说过 Pieter Levels,可以说他是数字游民的先驱人物。 他在推特上拥有超过43万的粉丝,仅凭一台笔记本电脑就连续建立了多个高盈利网站,光是推特主页上展示的比较新的几个网站,每月收入加起来就高达 17.6 万…

【机器学习】机器学习与大模型在人工智能领域的融合应用与性能优化新探索

文章目录 引言机器学习与大模型的基本概念机器学习概述监督学习无监督学习强化学习 大模型概述GPT-3BERTResNetTransformer 机器学习与大模型的融合应用自然语言处理文本生成文本分类机器翻译 图像识别自动驾驶医学影像分析 语音识别智能助手语音转文字 大模型性能优化的新探索…

解读信创产业根基,操作系统发展历程

信创产业根基之一操作系统 操作系统是一个关键的控制程序,负责协调、管理和控制计算机硬件和软件资源。作为硬件的首要软件扩展,它位于裸机与用户之间,充当了两者之间的桥梁。通过其核心程序,操作系统高效地管理着系统中的各类资源…

开山之作!Python数据与算法分析手册,登顶GitHub!

若把编写代码比作行军打仗,那么要想称霸沙场,不能仅靠手中的利刃,还需深谙兵法。 Python是一把利刃,数据结构与算法则是兵法。只有熟读兵法,才能使利刃所向披靡。只有洞彻数据结构与算法,才能真正精通Pyth…

营销方案撰写秘籍:包含内容全解析,让你的方案脱颖而出

做了十几年品牌,策划出身,混迹过几个知名广告公司,个人经验供楼主参考。 只要掌握以下这些营销策划案的要点,你就能制作出既全面又专业的策划案,让你的工作成果不仅得到同事的认可,更能赢得老板的赏识&…

Transgaga——人脸与猫脸之间互相转换算法解析

1. 概述 虽然pix2pix作为风格转换模型被提出,但它依赖于成对的数据集。与之相比,CycleGAN通过引入循环损失,实现了无需配对数据的风格转换。不过,CycleGAN在处理需要大幅几何变化的风格转换时表现不佳,仅在如马和斑马…

JAVA流程控制--增强for循环

1.JAVA5引入了一种主要用于数组或集合的增强型for循环 2.JAVA增强for循环语法格式如下: for(声明语句:表达式) { //代码句子 } 3.声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循…

最新鸿蒙南北开发学习路线+学习资料分享

前言 5月29日,“千帆竞发启航 共筑鸿蒙生态”鸿蒙原生应用合作仪式在北京成功举办,近40个应用现场官宣启动鸿蒙原生应用开发。此次官宣启动开发的鸿蒙原生应用不仅包括教育、母婴、出行、医疗健康等多领域的知名应用,还有十多家企业内部办公应…

【C语言】位段(结构体实现位段)

目录 一、位段的定义 二、位段的声明 三、位段的内存分配 四、位段在内存中的存储方式 五、位段的优点 六、位段的跨平台问题 七、位段的应用 八、位段使用的注意事项 一、位段的定义 信息的存取一般以字节为单位。实际上,有时存储一个信息不必用一个或多个字…

参数高效微调PEFT(四)快速入门(IA)3

参数高效微调PEFT(四)快速入门(IA)3 我们已经了解了HuggingFace中peft库的几种高效微调方法。 参数高效微调PEFT(一)快速入门BitFit、Prompt Tuning、Prefix Tuning 参数高效微调PEFT(二)快速入门P-Tuning、P-Tuning V2 参数高效微调PEFT(三)快速入门LoRA、AdaLoRA 今天我…

Linux基础命令[28]-chmod

文章目录 1. chmod 命令说明2. chmod 命令语法3. chmod 命令示例3.1 使用数字赋权3.2 使用字母赋权3.3 -R(一起修改子目录) 4. 总结 1. chmod 命令说明 chmod:为文件或文件夹赋予权限。Linux-文件或目录权限。基本信息如下: Usa…

目标2亿欧元!四年两次募资,全球最早专注于量子投资的Quantonation再次加码

Quantonation Ventures 是全球第一家专注于深度物理和量子技术的早期风险投资公司。4月10日,该公司宣布其第二只专门用于量子技术的早期基金 Quantonation II 首次募资完成,目前已募资 7000 万欧元,而目标为 2 亿欧元。 首次募资就募到了将…

redis之发布与订阅

华子目录 什么是发布与订阅?常用命令psubscribe pattern1 [pattern2...]subscribe channel1 [channel2...]publish channel messagepunsubscribe pattern1 [pattern2...]unsubscribe [channel1 [channel2...]]pubsub subcommand argument1 [argument2...] 示例1示例…

C/C++动态内存管理(new与delete)

目录 1. 一图搞懂C/C的内存分布 2. 存在动态内存分配的原因 3. C语言中的动态内存管理方式 4. C内存管理方式 4.1 new/delete操作内置类型 4.2 new/delete操作自定义类型 1. 一图搞懂C/C的内存分布 说明: 1. 栈区(stack):在…

微信视频号上是怎么开店铺的?从入驻到发货,具体流程来了!

这两年,视频号逐渐走入大家视野 单价高,商家又少,很多类目都属于空白无商家入驻阶段,于是好多商家,都准备去视频号小店这个新“黑马”发展发展 那视频号是怎么开店卖东西的?今天我就来给大家分享一下&…

list~模拟实现

目录 list的介绍及使用 list的底层结构 节点类的实现 list的实现 构造函数 拷贝构造 方法一:方法二: 析构函数 赋值重载 insert / erase push_/pop_(尾插/尾删/头插/头删) begin和end(在已建立迭代器的基础上) 迭代…

“神经网络之父”和“深度学习鼻祖”Geoffrey Hinton

“神经网络之父”和“深度学习鼻祖”Geoffrey Hinton在神经网络领域数十年如一日的研究,对深度学习的推动和贡献显著。 一、早期贡献与突破 反向传播算法的引入:Hinton是将反向传播(Backpropagation)算法引入多层神经网络训练的…

客观评价一下GPT-4o

评价GPT-4o(即OpenAI发布的升级版语言模型),以下是上大学网(www.sdaxue.com)从技术能力与创新性、性能与效率、功能实用性与用户体验等几个维度进行评价,不周之出,请大家指正。 技术能力与创新性…

百万总奖池 | 浦源大模型挑战赛(夏季赛)·安全可信赛道正式启动!

随着技术的不断进步,人工智能技术正迅速成为促进社会进步的新质生产力,大模型也成为了“炙手可热”的日常工具,彻底改变了我们与信息之间的互动方式。 然而,随着大模型能力的日益增强,其潜在的风险也日渐凸显&#xf…