想要直接在组件外的文件使用Pinia,遇到报错getActivePinia was called with no active Pinia. Did you forget to install pinia?
原因:是pinia在main.ts中还未注册好,便在其他文件中使用了它。
解决方法:在store中导出pinia的单独store文件,在需要使用的文件中引入下 pinia 的文件和 store 的文件就行了。
具体:
@/store/store.ts
import { createPinia } from 'pinia'
const pinia = createPinia()
export default pinia;
main.ts
import { createApp } from 'vue'
import App from './App.vue'
import pinia from "@/store/store"
createApp(App)
.use(pinia)
.mount('#app')
需要使用到的文件
import pinia from '@/store/store' import { useStore } from '@/store';
const store = useStore(pinia)