项目场景:
vue3+ts+vite+pinia全局组件中使用的utils中使用了pinia
问题描述
pinia提示未初始化
原因分析:
import 语句通常用于在模块的顶层引入其他模块或库。它们不是异步执行的,并且在模块的代码执行之前就已经被处理。导致pinia提示未初始化
解决方案:
个人解决方案(应该还有其他方案,欢迎留言):
将import语句
import { getDictData } from '@/utils/get-dict'
更改为动态引入,例如在onMounted或者nextTick中进行引入,由于我的组件是弹窗,所以是在open方法中进行的引入,打开后才会引入:
const openModal = (id: string) => {
open.value = true
import('@/utils/get-dict').then((res) => {
options.value = res.getDictArray('mark_alarm_level')
})
}
如有其他解决方案,希望可以留言,祝君工作顺利!