当前位置: 首页 > news >正文

Vue3:使用Pinia存储、读取、修改数据

一、存储数据

Pinia插件中,存储数据的配置项是state
count.ts

import {defineStore} from 'pinia'export const useCountStore = defineStore('count',{// 真正存储数据的地方state(){return {sum:6}}
})

loveTalk.ts

import {defineStore} from 'pinia'export const useTalkStore = defineStore('talk',{// 真正存储数据的地方state(){return {talkList:[{id:'ftrfasdf01',title:'今天你有点怪,哪里怪?怪好看的!'},{id:'ftrfasdf02',title:'草莓、蓝莓、蔓越莓,今天想我了没?'},{id:'ftrfasdf03',title:'心里给你留了一块地,我的死心塌地'}]}}
})

二、读取数据

Count.vue

  import {useCountStore} from '../store/count'const countStore = useCountStore()// 以下两种方式都可以拿到state中的数据console.log('@@@',countStore.sum)console.log('@@@',countStore.$state.sum)

LoveTalk.vue

  import {useTalkStore} from '../store/loveTalk'const talkStore = useTalkStore()// 以下两种方式都可以拿到state中的数据console.log('@@@',talkStore.talkList)console.log('@@@',talkStore.$state.talkList)

三、修改数据

Count.vue为例
1、直接修改

  function add(){// 第一种修改方式countStore.sum += 1}

2、批量修改

  function add(){// 第二种修改方式,批量修改多个数据countStore.$patch({sum:888,school:'前段-Vue3',address:'中国-北京'})}

3、通过Piniaactions配置项修改
Count.vue组件中的setup代码

  // 方法function add(){// 第三种修改方式,pinia的actions配置项方式countStore.increment(n.value)}

count.ts中新增actions配置

import {defineStore} from 'pinia'export const useCountStore = defineStore('count',{// actions里面放置的是一个一个的方法,用于响应组件中的“动作”actions:{increment(value){console.log('increment被调用了',value)if( this.sum < 10){// 修改数据(this是当前的store)this.sum += value}}},// 真正存储数据的地方state(){return {sum:6,school:'Vue3',address:'中国'}}
})
http://www.lryc.cn/news/331615.html

相关文章:

  • 基于 Quartz.NET 可视化任务调度平台 QuartzUI
  • 前端三剑客 —— CSS (第三节)
  • C# 系统学习(异步编程)
  • 前端工程师————CSS学习
  • C# 登录界面代码
  • 点云的Python均值采样
  • xss-labs 11-13通关记录
  • Unity类银河恶魔城学习记录12-2 p124 Character Stats UI源代码
  • 技术揭秘:如何打造完美互动的充电桩硬件与服务平台?
  • 【Django学习笔记(四)】JavaScript 语言介绍
  • IO和NIO的主要区别在哪里?
  • 爬虫部署平台crawlab使用说明
  • uniapp uni.scss中使用@mixin混入,在文件引入@include 样式不生效 Error: Undefined mixin.(踩坑记录一)
  • Redis的5大常见数据类型的用法
  • 刘小光本就疑心赵本山与他媳妇李琳有染,赵本山为证实清白便想起蛋糕上的字,结果呢?
  • Unity之PUN实现多人联机射击游戏的优化(Section 2)
  • 多叉树题目:N 叉树的层序遍历
  • 时序数据库IoTDB:功能详解与行业应用
  • 信息系统项目管理师——第18章项目绩效域管理(一)
  • WebSocket用户验证
  • NOSQL(非关系型数据库)的优缺点有哪些?
  • 个人推荐Redis比较好的一种使用规范
  • 【教程】宝塔default.db占用空间几十g解决方法|宝塔占用磁盘空间特别大解决方法|宝塔磁盘被占满怎么清理
  • Unity类银河恶魔城学习记录11-15 p117 Ice and Fire item Effect源代码
  • Qt QML的枚举浅用
  • 设计模式:单例模式六种实现
  • Mybatis-Plus05(分页插件)
  • python爬取B站视频
  • 深度学习500问——Chapter05: 卷积神经网络(CNN)(2)
  • 基于单片机的测时仪系统设计