警告内容:
[Vue warn]: onMounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement. at
意思是onMounted 被调用时,当前并没有活跃状态的组件实例去处理生命周期钩子的注入。生命周期钩子的注入只能在 setup 同步执行期间进行,使用async setup(),请确保在第一个await语句之前注册生命周期 .。
我使用的是setup语法糖,可能存在异步任务组件变为异步组件了
解决方案:
将onMounted 函数放在 最前面
import {onMounted, reactive, ref} from "vue"
onMounted(() => {
getGridWidth()
window.onresize = () => {
getGridWidth()
}
})
const spinning = ref<boolean>(true)
文章指出在使用Vue的setup语法糖时遇到一个警告,警告内容是onMounted在没有活跃组件实例时被调用。这通常发生在异步setup中。解决方案是确保在第一个await语句之前注册onMounted,以保证生命周期钩子的正确执行。示例代码展示了如何调整onMounted的注册位置来避免这个问题。
1660





