pinia 初步理解

前提

写法是用的vue3,只是一些简单的写法

stores文件中的counter.js

import { defineStore } from 'pinia'

export const useCounterStore = defineStore('counter', {
  state: () => ({
    count: 0
  }),
  getters: {
    doubleCount: (state) => state.count * 2
  },
  actions: {
    increment() {
      this.count++
    }
  }
})

actions: increment 的使用

只是单纯调用该方法,actions是可以改变源数据的

mport { useCounterStore } from '@/stores/counter'
const store = useCounterStore()

const handleClick = () => {
  store.increment()
}

getters:doubleCount 的使用

我的理解,getters是用来改造数据的,非元数据,改造过的可以直接调用

<template>
  <div class="right-view">
    <div>2倍count值:{{ store.doubleCount }}</div>
  </div>
</template>

<script setup>
import { useCounterStore } from '../stores/counter'

const store = useCounterStore()
</script>

state:count

源数据

<template>
  <div class="right-view">
    <div>当前count值:{{ store.count }}</div>
  </div>
</template>

<script setup>
import { useCounterStore } from '../stores/counter'

const store = useCounterStore()
</script>
posted @   zongkm  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示