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

本文探讨了在Vue3项目中遇到的关于Pinia库在路由配置中的报错,重点在于理解如何将store正确地置于路由之外并提供给组件。通过实例展示了如何避免'Using a store outside of a component'的错误,并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Vue3中的路由里面使用Pinia报错:

 代码如下:

import { createRouter, createWebHistory } from 'vue-router'
import routes from './routes'
import { userStore } from "@/store/user";

const userStoreData = userStore(); // 注意这行代码位置!!!!

const router = createRouter({
  history: createWebHistory(),
  routes
})

router.beforeEach((to, form, next) => {
  document.title = `${to.meta.title} | 管理系统`
  const role = userStoreData.msUserName
  if (!role && to.path !== '/login') {
    next('/login')
  } else if (to.meta.permission) {
    // 简单模拟下如果是管理员权限,那么可以进入
    role === "admin" ? next() : next('/403')
  } else {
    next()
  }
})
export default router

解决办法:Using a store outside of a component | Pinia

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值