pinia action和getter

复制代码
import {defineStore} from 'pinia'
import {StoreName} from './store-name'
// StoreName是id,用于区分不同的store,自定义即可
export const useStore = defineStore(StoreName.Test, {
  state: () => ({
    count: 0,
    sex: '顶顶顶'
  }),
  // 类似computed,所有都跟vue2差不多
  getters: {
    getNewCount():string {
      return `这是新的${this.count}`
    }
  },
  // 可以写异步和同步方法
  actions: {
    async asyncIncrement() {
      await new Promise((resolve) => {
        setTimeout(() => {
          resolve(this.count++)
        }, 1000)
      })
    },
    increment() {
      this.count++
    },
    // 不可以写箭头函数,否则指向不正确
    updataCount(count: number) {
      this.count = count
    }
  },
})
复制代码

 

posted on   ChoZ  阅读(3)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2023-02-22 Vue3中使用JSX简明语法
2023-02-22 TS补充笔记

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示