vue开发中,在js文件里使用pinia和组件同步
遇到问题
在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)
传参数,是不会改变的