vue3项目引入pinia报错的简单解决

 更新时间:2023年10月10日 10:09:43   作者:Jl.610  
这篇文章主要介绍了vue3项目引入pinia报错的简单解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue3项目引入pinia报错

1.控制台错误提示:getActivePinia was called with no active Pinia. Did you forget to install pinia?

2.报错原因

pinia集成顺序错误 挂载已经结束,但pinia集成失败 运行报错

3.解决方案:调整顺序将 pinia的集成放在#app的挂载之前

app.use(createPinia()).use(router).mount('#app')

vue3+Pinia使用经历(常见报错、警告)

近期在路由传参中使用params时发现报了这么一个错误:

const Edit = (scope) => {
    const val = JSON.stringify(scope)
    router.push({ name: 'upload', params: { val } })
}

点进链接后提示让我使用pinia或者vuex状态管理,于是照着pinia文档创建了pinia.js页面用来存放数据:

//pinia.js
import {defineStore} from 'pinia'
import {reactive} from 'vue'
export const usePiniasStore = defineStore('alerts', () => {
    const arr = reactive({
        msg: ''
    })
    function getMsg(e) {
        arr.msg = e
    }
    return { arr, getMsg }
})

将组件中的数据传入pinia.js文件:

//dishes.vue
import { usePiniasStore } from '@/store/pinia'
export default {
    setup() {
        const dishesStore = usePiniasStore()
        const Edit = (scope) => {
            const val = JSON.stringify(scope)
            dishesStore.getMsg(val)
            router.push({ name: 'upload' })
        }
    }
}

紧接着报了这么个错误: 

百度了一下告诉我要先挂载再使用,于是我将createApp、createPinia、App引入进行挂载:

//dishes.vue
import { usePiniasStore } from '@/store/pinia'
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from '@/App.vue'
export default {
    setup() {
        const pinia = createPinia()
        const app = createApp(App)
        app.use(pinia)
        const dishesStore = usePiniasStore()
        const Edit = (scope) => {
            const val = JSON.stringify(scope)
            dishesStore.getMsg(val)
            router.push({ name: 'upload' })
        }
    }
}

这个时候再在另一个组件中便能取到pinia.js中的数据了: 

//upload.vue
import { usePiniasStore } from '@/store/pinia'
export default {
    setup() {
        const storex = usePiniasStore()
        const etid_data = storex.arr.msg
        console.log(etid_data);
    }
}

至此,问题解决!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue组件生命周期详解

    vue组件生命周期详解

    这篇文章主要为大家详细介绍了vue组件生命周期,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Vue SPA 如何解决浏览器缓存问题

    Vue SPA 如何解决浏览器缓存问题

    这篇文章主要介绍了Vue SPA 如何解决浏览器缓存问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue后台管理如何配置动态路由菜单

    vue后台管理如何配置动态路由菜单

    这篇文章主要介绍了vue后台管理如何配置动态路由菜单,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue3 Element-plus el-menu无限级菜单组件封装过程

    Vue3 Element-plus el-menu无限级菜单组件封装过程

    对于element中提供给我们的el-menu组件最多可以实现三层嵌套,如果多一层数据只能自己通过变量去加一层,如果加了两层、三层这种往往是行不通的,所以只能进行封装,这篇文章主要介绍了Vue3 Element-plus el-menu无限级菜单组件封装,需要的朋友可以参考下
    2023-04-04
  • Vue elementUI 自定义表单模板组件功能实现

    Vue elementUI 自定义表单模板组件功能实现

    在项目开发中,我们会遇到这种需求,在管理后台添加自定义表单,在指定的页面使用定义好的表单,这篇文章主要介绍了Vue elementUI 自定义表单模板组件,需要的朋友可以参考下
    2022-12-12
  • vue项目中使用fetch的实现方法

    vue项目中使用fetch的实现方法

    这篇文章主要介绍了vue项目中使用fetch的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Vue3中Composition API的原理与实战指南

    Vue3中Composition API的原理与实战指南

    Composition API为开发者提供了一种全新的组织组件逻辑的方式,本文将深入探讨Vue3中Composition API的实际应用,帮助开发者掌握这一强大工具
    2025-07-07
  • npm install报错缺少python问题及解决

    npm install报错缺少python问题及解决

    这篇文章主要介绍了npm install报错缺少python问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 详解Vue中使用v-for语句抛出错误的解决方案

    详解Vue中使用v-for语句抛出错误的解决方案

    本篇文章主要介绍了详解Vue中使用v-for语句抛出错误的解决方案,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Vue 自定义指令实现一键 Copy功能

    Vue 自定义指令实现一键 Copy功能

    指令 (Directives) 是带有 v- 前缀的特殊特性。这篇文章主要介绍了Vue 自定义指令实现一键 Copy的功能,需要的朋友可以参考下
    2019-09-09

最新评论