Vue3中使用Pinia
在Vue 3中使用Pinia,首先需要安装Pinia:
npm install pinia
# 或者使用yarn
yarn add pinia
然后,在Vue应用中设置Pinia:
// main.js
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'
const app = createApp(App)
const pinia = createPinia()
app.use(pinia)
app.mount('#app')
接下来,创建一个store.js文件来定义你的store:
// store.js
import { defineStore } from 'pinia'
export const useMainStore = defineStore('main', {
state: () => {
return { counter: 0 }
},
actions: {
increment() {
this.counter++
}
}
})
在组件中使用store:
<template>
<div>
<p>{{ counter }}</p>
<button @click="increment">Increment</button>
</div>
</template>
<script>
import { useMainStore } from './store'
export default {
setup() {
const mainStore = useMainStore()
return {
counter: mainStore.counter,
increment: mainStore.increment
}
}
}
</script>
以上代码展示了如何在Vue 3应用中设置和使用Pinia。通过defineStore
函数定义了一个store,并通过useMainStore
函数在组件中使用它。这个store包含一个状态counter
和一个动作increment
,可以在组件中被访问和修改。
评论已关闭