vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue3 ts组合式API异常

vue3 ts组合式API异常onMounted is called when there is no active component解决

作者:来了老弟

这篇文章主要为大家介绍了vue3 ts组合式API异常onMounted is called when there is no active component问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

遇到问题

最近写vue3+ts和组合式API遇到了上面的问题,代码如下:

<template>
</template>
<script setup lang="ts">
import { useStore } from 'vuex'
import { useRoute } from 'vue-router'
import { onMounted } from 'vue'
const store = useStore()
store.dispatch('initMenus')
const route = useRoute()
onMounted(() =>{
    console.log(route.path)
})
</script>
<style lang="scss" scoped>
</style>

这个是因为在这个组合式onMounted之前调用了store.dispatch('initMenus') 内部包含async/await

解决方法

If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

只要把代码顺序调整如下,报错即可消失:

<template>
</template>
<script setup lang="ts">
import { useStore } from 'vuex'
import { useRoute } from 'vue-router'
import { onMounted } from 'vue'
const route = useRoute()
onMounted(() =>{
    console.log(route.path)
})
const store = useStore()
store.dispatch('initMenus')
</script>
<style lang="scss" scoped>
</style>

希望可以帮到你。

以上就是vue3 ts组合式API异常onMounted is called when there is no active component解决的详细内容,更多关于vue3 ts组合式API异常的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文