首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue3:未找到注入符号(Pinia)

Vue3:未找到注入符号(Pinia)
EN

Stack Overflow用户
提问于 2022-05-29 18:22:05
回答 2查看 2.7K关注 0票数 3

我使用Vue 3+ Vite插件进行类星体+ Pinia的商店管理。我跟踪了所有的官方文件(类星体,皮尼亚)。但我得到了这个错误。

代码语言:javascript
复制
    [Vue warn]: injection "Symbol(pinia)" not found. 
    ...
    runtime-core.esm-bundler.js:38 [Vue warn]: Unhandled error during execution of setup function 
      at <ViewLogin onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< undefined > > 
...
    runtime-core.esm-bundler.js:38 [Vue warn]: Unhandled error during execution of scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core 
      
    pinia.esm-browser.js:1638 Uncaught (in promise) Error: []: getActivePinia was called with no active Pinia. Did you forget to install pinia?
        const pinia = createPinia()
        app.use(pinia)
    This will fail in production.
        at useStore (pinia.esm-browser.js:1638:19)
       
    js:185:25)

main.js

代码语言:javascript
复制
import {createApp} from 'vue'
import {Notify, Quasar} from 'quasar'


// Import icon libraries
import '@quasar/extras/roboto-font-latin-ext/roboto-font-latin-ext.css'
import '@quasar/extras/material-icons-round/material-icons-round.css'

// A few examples for animations from Animate.css:
// import @quasar/extras/animate/fadeIn.css
// import @quasar/extras/animate/fadeOut.css
// Import Quasar css
import 'quasar/src/css/index.sass'

// Import icon libraries
import '@quasar/extras/material-icons/material-icons.css'
import '@quasar/extras/material-icons-sharp/material-icons-sharp.css'

// Assumes your root component is App.vue
// and placed in same folder as main.js
import App from './App.vue'
import router from "./router/router";
import i18n from "./i18n/i18n"
import {createPinia} from "pinia/dist/pinia";
import {useLoginStore} from "./stores/login";

const app = createApp(App)

// app.config.globalProperties.loginStore = useLoginStore();
app.use(Quasar, {
    plugins: {
        Notify,
    }, // import Quasar plugins and add here
})
app.use(router)

app.use(i18n)
app.use(createPinia())
// Assumes you have a <div id="app"></div> in your router.html
app.mount('#app')

和我在组件的代码中添加了“const=useLoginStore()”后收到了这个错误。

代码语言:javascript
复制
<script setup>
import {ref} from 'vue'
import {storeToRefs} from 'pinia'
import {useLoginStore} from '../../stores/login'
import {useQuasar} from 'quasar'

const $q = useQuasar()

const email = ref(null)
const password = ref(null)

const store = useLoginStore()
const {loginEmail} = storeToRefs(store)


</script>

问题是什么?如何解决?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-29 20:21:34

这个问题与WebStorm有关。它自动创建此导入:

代码语言:javascript
复制
import {createPinia} from "pinia/dist/pinia";

而不是这个

代码语言:javascript
复制
import {createPinia} from 'pinia'
票数 1
EN

Stack Overflow用户

发布于 2022-08-11 07:06:46

对我来说是:import { isTemplateNode } from '@vue/compiler-core'

剪切和重新加载服务器工作正常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72426211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档