Pinia学习-存储数据、修改数据以及持久化实现

Pinia是什么?

Pinia 是 Vue 的存储库,实现全局变量的定义

这里定义的变量信息,任何页面都可以使用,代替原来的VueX

官网:https://pinia.web3doc.top/

4.2 Pinia存储数据

4.2.1获取存储数据

实现步骤:
1.依赖
npm install pinia
2.在main.js实现配置
3.实现js在src创建文件夹 pinia 内部创建js文件 index.js
src/pinia/index.js
4.使用views/learn.vue

具体实现步骤:
1.依赖
npm install pinia
2.在main.js实现配置
在这里插入图片描述

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
//导入路由
import { createRouter } from "./router/index.js"//导入pinia
import { createPinia } from 'pinia'
//实例化pinia
const pinia = createPinia()//配置路由
createApp(App).use(createRouter()).use(pinia).mount('#app')

3.实现js在src创建文件夹 pinia 内部创建js文件 index.js
src/pinia/index.js

import { defineStore } from 'pinia'export const useStore = defineStore('store', {state: () => {//定义需要共享的变量return {author:'郑' //定义全局变量}}
})

4.使用views/learn.vue
在这里插入图片描述

<template><div><h1>动态路由</h1><button @click="tz">点击跳转</button></div>
<!-- 获取pinia中的值 --><h1>全局变量:{{store.author}}</h1>
</template><!-- Vue3的写法 setup -->
<script setup>
//导入
import {useRouter} from 'vue-router'
//导入
import {useStore} from "../pinia/index.js"
// 声明变量
const router = useRouter()
//声明变量
const store=useStore();
const tz = () => {//基于路由 实现页面跳转 动态路由router.push("/study");
}</script><style scoped></style>

4.2.2修改存储数据’

步骤
1.pinia/index.js
2.views/learn.vue

具体实现
1.pinia/index.js

在这里插入图片描述

import { defineStore } from 'pinia'export const useStore = defineStore('store', {state: () => {//定义需要共享的变量return {author:'郑' //定义全局变量}},actions: {//定义setAuthor(author){ //定义函数 修改变量的值this.author=author;}}
})

2.views/learn.vue
在这里插入图片描述

<template><div><h1>动态路由</h1><button @click="tz">点击跳转</button></div><div><!-- 获取pinia中的值 --><h1>全局变量:{{store.author}}</h1><button @click="set1"></button></div><div><h1>修改pinia的值</h1><input v-model="a"><button @click="set1">修改作者</button></div>
</template><!-- Vue3的写法 setup -->
<script setup>
//导入
import {ref} from "vue";
import {useRouter} from 'vue-router'
//导入
import {useStore} from "../pinia/index.js"
// 声明变量
const router = useRouter()
//声明变量
const store=useStore();
const tz = () => {//基于路由 实现页面跳转 动态路由router.push("/study");
}const a = ref("");const set1 = () => {//修改 pinia中的值store.setAuthor(a.value)
}</script><style scoped></style>

4.2.3 Pinia实现持久化

Pinia默认数据存储在内存中,一旦刷新浏览器,数据就没有了,所以可以配置持久化

持久化插件:pinia-plugin-persist

实现步骤:
1.依赖 npm install pinia-plugin-persist
2.实现配置 main.js
3.在pinia的js中开启持久化,在store/index.js中
4.测试刷新后数据是否存在

具体实现:
1.依赖
npm install pinia-plugin-persist
2.实现配置 main.js
在这里插入图片描述

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
//导入路由
import { createRouter } from "./router/index.js"//导入pinia
import { createPinia } from 'pinia'
//导入pinia 持久化 插件
import piniaPersist from 'pinia-plugin-persist'
//实例化pinia 并设置持久化
const pinia = createPinia()
pinia.use(piniaPersist)//配置路由
createApp(App).use(createRouter()).use(pinia).mount('#app')

3.在pinia的js中开启持久化,在pinia/index.js中
注意位置,是在最后
在这里插入图片描述

import { defineStore } from 'pinia'export const useStore = defineStore('store', {state: () => {//定义需要共享的变量return {author:'郑' //定义全局变量}},actions: {//定义setAuthor(author){ //定义函数 修改变量的值this.author=author;}},persist: {enabled: true // true 表示开启持久化保存}
})

4.测试刷新后数据是否存在

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu 20.04 使用systemback自定义系统镜像和系统备份

ubuntu 20.04 使用systemback自定义系统镜像和系统备份 Systemback简介1. 安装 systemback16.0418.04 查看 2. 使用 systemback创建自定义镜像制作镜像制作中制作完成将镜像写入U盘 Systemback简介 Systemback是一个简单的系统备份和恢复应用程序&#xff0c;根据GPLv3许可条款…

工业企业网络推广解决方案 | 网络营销专家分享 | 上海添力

在国内&#xff0c;工业企业如果想在线上做推广&#xff0c;其主要途径就是做搜索引擎推广&#xff0c;在几个常用的搜索引擎&#xff08;百度、360、搜狗、必应&#xff09;中&#xff0c;一般都是从百度开始做起。但不少工厂做百度广告&#xff0c;钱花了不少&#xff0c;就是…

iOS上架App Store的全攻略

​ 第一步&#xff1a;申请开发者账号 在开始将应用上架到App Store之前&#xff0c;你需要申请一个开发者账号。 1.1 打开苹果开发者中心网站&#xff1a;Apple Developer 1.2 使用Apple ID和密码登录&#xff08;如果没有账号则需要注册&#xff09;&#xff0c;要确保使用…

AWS Lambda – 函数版本,别名,API网关,CodeDeploy协同

Hello大家好&#xff0c;我们今天继续讨论AWS Lambda的内容。 Lambda函数的版本 Lambda函数的版本和别名是辅助资源&#xff0c;我们可以通过创建这些资源管理函数的部署和调用。 首先&#xff0c;让我们来看一下Lambda 函数版本的概念。您可以使用版本来管理函数的部署。例…

Win10系统开机启动文件夹在哪里找?

Win10系统开机启动文件夹在哪里找&#xff1f;Win10系统开机启动文件夹是一个非常重要的目录&#xff0c;它决定了电脑在开机的时候&#xff0c;会有哪些应用程序是自动启动。但是&#xff0c;很多新手用户不知道Win10电脑内开机启动文件夹的具体位置&#xff0c;下面小编介绍开…

paddlenlp:社交网络中多模态虚假媒体内容核查(特征篇)

初赛之特征构造 写在前面一、安装paddleOCR二、代码部分三、模型优缺点四、写在最后 写在前面 通过前面两篇文章的介绍&#xff0c;我们可以大致的知道模型用到的特征分为四块&#xff1a;qCap&#xff0c;qImg&#xff0c;captions&#xff0c;imgs。根据这些特征&#xff0c…

人工智能(pytorch)搭建模型20-基于pytorch搭建文本生成视频的生成对抗网络,技术创新点介绍

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能(pytorch)搭建模型20-基于pytorch搭建文本生成视频的生成对抗网络&#xff0c;技术创新点介绍&#xff0c;随着人工智能和深度学习技术的飞速发展&#xff0c;文本到视频生成已经成为计算机视觉领域中一个重…

pragma once与ifndef的区别

概要 代码编译过程中&#xff0c;为了防止同一份代码被重复引用&#xff0c;通常有两种实现方式 方式一 #pragma once 方式二 #ifndef _TEST_H_ #define _TEST_H_ #endif // !TEST_H 通常情况下&#xff0c;使用上述两种方式中的任意一种都是可以的。最近工作中&#xff0c;代…

055:mapboxGL中加载geojson,导出为CSV格式文件

vue+mapbox 第055个 点击查看专栏目录 本示例介绍演示如何在vue+mapbox中加载geojson,导出为CSV格式文件。 通过一个插件,将geojson转化为csv,同时通过file-saver将文件下载下来。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果导出后的…

智能电表的功率计算方式是一样的吗?

随着科技的发展&#xff0c;智能电表已经成为了家庭和企业用电的必备设备。智能电表不仅可以实现用电量的监测和控制&#xff0c;还可以对用电负荷进行管理和优化。在智能电表的使用过程中&#xff0c;功率计算是一个重要的环节。那么&#xff0c;智能电表的功率计算方式是一样…

跨境电商自养号测评:如何配置安全可靠的网络环境?

随着全球化的加速和互联网的普及&#xff0c;跨境电商已经逐渐成为全球电子商务的主流形式。越来越多的企业开始涉足跨境电商领域&#xff0c;希望通过跨越国界的贸易活动来扩大市场份额、提高品牌影响力&#xff0c;以及增加企业收益。 然而跨境电商是一个充满机遇和挑战的领…

NSSCTF做题(10)

叫10好听一点&#xff0c;就是补9的 第7页的内容 [SWPUCTF 2022 新生赛]ez_sql get传参说是不安全&#xff0c;那就只能用post了 有回显了&#xff0c;两个假的flag 发现万能密码 1 or 11#变成了 11# 11# 1 11#1# 11# 11# 发现or和空格都无了&#xff0c;union也过滤 …

博客积分上一万了

博客积分上一万了 继续努力&#xff0c;勇往直前。

TCP/IP(二十一)TCP 实战抓包分析(五)TCP 第三次握手 ACK 丢包

一 实验三&#xff1a;TCP 第三次握手 ACK 丢包 第三次握手丢失了,会发生什么? 注意: ACK 报文是不会有重传的,当 ACK 丢失了,就由对方重传对应的报文 ① 实验环境 ② 模拟方式 1、 服务端配置防火墙iptables -t filter -I INPUT -s 172.25.2.157 -p tcp --tcp-flag ACK…

MS5248数模转换器可pin对pin兼容AD5648

MS5228/5248/5268 是一款 12/14/16bit 八通道输出的电压型 DAC&#xff0c;内部集成上电复位电路、可选内部基准、接口采用四线串口模式&#xff0c;最高工作频率可以到 40MHz&#xff0c;可以兼容 SPI、QSPI、DSP 接口和 Microwire 串口。可pin对pin兼容AD5648。输出接到一个 …

【数据结构】线性表(三)循环链表的各种操作(创建、插入、查找、删除、修改、遍历打印、释放内存空间)

目录 线性表的定义及其基本操作&#xff08;顺序表插入、删除、查找、修改&#xff09; 四、线性表的链接存储结构 1. 单链表 2. 循环链表 a. 循环链表节点结构体 b. 创建新节点 c. 在循环链表末尾插入节点 d. 删除循环链表中指定值的节点 e. 在循环链表中查找指定值的…

Flask Web 安装bootstrap失败pip install bootstrap

失败原因&#xff1a;网速太慢了 把公共wifi换成手机热点&#xff0c;成功&#xff1a;&#xff09; &#x1f603; 更新&#xff1a;开了手机热点还是报下面的错&#xff0c;但是把科学上网关了&#xff0c;就成功了&#xff0c;反正就是网络问题

决策树oo

决策树学习的算法通常是一个递归地选择最优特征(选择方法的不同&#xff0c;对应着不同的算法)&#xff0c;并根据该特征对训练数据进行分割&#xff0c;使得各个子数据集有一个最好的分类的过程。这一过程对应着对特征空间的划分&#xff0c;也对应着决策树的构建 步骤&#…

【Docker从入门到入土 1】Docker管理命令

Part1 一、容器1.1 虚拟化技术的演变1.2 容器简介1.3 为什么要用到容器&#xff1f;1.4 常用的容器引擎1.5 容器和虚拟机 二、Docker2.1 什么是docker&#xff1f;&#xff08;面试题&#xff09;2.2 Docker和虚拟机的区别&#xff08;面试常问&#xff0c;记住&#xff09;2.3…

视频号下载助手中的小程序怎么用?微信视频号提取下载教程

​用过视频号视频下载助手都说好用&#xff0c;但还有不少人不知道如何操作&#xff0c;怎么才能快速提取视频号视频呢&#xff1f;今天就分享两个工具【视频下载助手】和【视频下载bot】两个结合的方式进行下载&#xff0c;具体操作看教程。 在微信客户端中搜索提取机器人&…