getActivePinia was called with no active Pinia. Did you forget to install pi

vue3+vue-router4

参考:https://blog.csdn.net/qq_21473443/article/details/126405859

stores/store.ts

// 在这里而不是在main.ts中创建的原因是,permission.ts中使用pinia会出现未注册的错误
import { createPinia } from 'pinia'
const pinia = createPinia()
export default pinia;

main.ts

import pinia from '@/stores/store'

app.use(pinia)

permission.ts

import pinia from "@/stores/store" //这里要重新导入才行

// 验证和请求用户信息
const user = useUserStore(pinia); //这里传参是createPinia()对象
const checkUserInfo = async () => {
  if (user.id == 0) {
    const ret = await getUserInfo();
    user.$patch({
      id: ret.data.id,
      name: ret.data.name,
      avatar: ret.data.avatar,
    })
  }
}

 

posted @ 2023-02-25 11:02  jqynr  阅读(486)  评论(0)    收藏  举报