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:'中国'
    }
  }
})

相关推荐

  1. Vue3使用Pinia存储读取修改数据

    2024-04-02 15:28:03       17 阅读
  2. Vue3 使用Pinia 存入与取出数据

    2024-04-02 15:28:03       20 阅读
  3. vue3使用pinia

    2024-04-02 15:28:03       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-02 15:28:03       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-02 15:28:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-02 15:28:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-02 15:28:03       18 阅读

热门阅读

  1. 算法3:查找算法

    2024-04-02 15:28:03       16 阅读
  2. 每日一题 日期统计

    2024-04-02 15:28:03       15 阅读
  3. COMP2017 9017 Assignment 2

    2024-04-02 15:28:03       16 阅读
  4. RAM IP核

    RAM IP核

    2024-04-02 15:28:03      19 阅读
  5. 1-31 正则表达式 String Buffer String Builder

    2024-04-02 15:28:03       17 阅读
  6. 【docker】基础背景 & Windows安装docker(WSL2)

    2024-04-02 15:28:03       13 阅读
  7. 关于oracle切换mysql8总结

    2024-04-02 15:28:03       12 阅读
  8. mysql调优

    2024-04-02 15:28:03       13 阅读
  9. Redis中的serverCron函数(一)

    2024-04-02 15:28:03       14 阅读
  10. POSTGRESQL中时间戳的奥秘timestamptz

    2024-04-02 15:28:03       18 阅读