vue開發中,在js檔案裡使用pinia和元件同步

越甲鸣吾君發表於2024-10-17

遇到問題

在js檔案中封裝涉及到使用pinia的方法時,發現和元件內容並不同步,二者是互相獨立的。為了方便使用,需要在新建物件的時候,將pinia作為引數傳進去

只需要傳pinia引數就可以

store/index.js

import { defineStore } from "pinia";
import { createPinia } from 'pinia'

export const pinia = createPinia();

export const StoreData = defineStore('storeData',{
state:()=>(
{
carList:[],
carsMessage:{}
}
)
})

main.js

import { pinia } from './store/';
import App from './App.vue';
const app = createApp(App);
app.use(pinia);
app.mount('#app');

js指令碼檔案使用

import { StoreData,pinia } from "@/store";
const storeData = new StoreData(pinia);// 必須傳引數 pinia

這樣就可以了,如果沒有new StoreData(pinia)傳引數,是不會改變的

相關文章