一、文档
https://pinia.vuejs.org/zh/introduction.html
二、简单使用
main.js
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from './router'
import { createPinia } from 'pinia'
const app = createApp(App)
app.use(router)
app.use(createPinia())
app.mount('#app')
store
import {defineStore} from 'pinia'
const useCountStore = defineStore('counter', {state: ()=>{return {count: 0}},getters: {getCount(state){return state.count}},actions: {add(){this.count++}}
})export default useCountStore
vue
<script setup> import { ref, computed } from 'vue' import useCountStore from '../store'; import { storeToRefs } from 'pinia';const store = useCountStore() const msg = ref('vue')// const count = computed(() => { // return store.count // }) const { count } = storeToRefs(store)const add = () => {store.add()console.log(store.getCount) } </script><template><h1>{{ msg }}</h1><div class="card"><button type="button" @click="add()">count is {{ count }}</button></div> </template><style scoped></style>
