使用pinia管理数据,在模块中引入另一个模块时报错:getActivePinia was called with no active Pinia. Did you forget to insta

最开始的入口文件main.js:

import { createApp } from 'vue'
import App from './5-vant轻量级组件/02indexBar索引栏/App'
import router from './5-vant轻量级组件/02indexBar索引栏/router/index'
import 'vant/lib/index.css';        //vant 标签样式
import  './5-vant轻量级组件/02indexBar索引栏/util/axios-conf.js'    // 导入axios配置文件   加载数据时动画效果
// import pinia from './5-vant轻量级组件/02indexBar索引栏/store/index'

import { createPinia } from 'pinia'
const pinia = createPinia()
const app=createApp(App)
app.use(router)      //注册路由插件
app.use(pinia)      //注册pinia状态管理插件
app.mount('#app')  //将App组件挂载到.app节点上

在main.js文件中创建并注册pinia。

当我需要另一个模块数据,于是进行了模块导入,出现了报错

 原因是是pinia在main.js中还未注册好,便在其他文件中使用了它。

两种方法解决:

1.在pinia在main.js注册前,就在模块中创建好pinia文件

2.在pinia在main.js注册后,在需要时调用模块

法一:

于是我单独写了一个pinia文件

 在main.js中引入使用

 

 既然pinia在main.js中还未注册好,在模块中就是用了,那么我在模块中引入pinia文件,就可以了

 问题就解决了!

法二:

在需要时调用方法

区别:

第一种方法: 可以在模块内全局使用

第二种方法: 只能在模块内局部使用

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值