Vue3 使用 Pinia 数据共享组件

341 阅读1分钟

菠萝官网:pinia.web3doc.top/

首先下载插件

yarn add pinia
# 或者使用 npm
npm install pinia

main.ts中

导入pinia插件,use到组件实例。

import { createApp } from 'vue'
import App from './App.vue'
import { createPinia } from 'pinia'

const pinia = createPinia()
createApp(App).use(pinia).mount('#app')

Or

import { createApp } from 'vue'
import App from './App.vue'
import { createPinia } from 'pinia'

const pinia = createPinia()

const app = createApp(App)
app.use(pinia)
app.mount('#app')

image.png

定义一个store文件夹,创建 XX.ts文件

image.png

import { defineStore } from 'pinia'
import { ref } from 'vue'

export const useStore = defineStore('home', () => {
    const arr = ref(123)
    return {
        arr
    }
})

使用时

在组件中script 导入并调用

image.png

import { useStore } from "./pinia/home";
const store = useStore();
console.log(store.arr);