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)传参数,是不会改变的

posted @ 2024-10-17 09:51  越甲鸣吾君  阅读(17)  评论(0编辑  收藏  举报