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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了