首页 > 文章列表 > Vue3 组件中 onload 方法不触发怎么办?

Vue3 组件中 onload 方法不触发怎么办?

333 2024-11-14

Vue3 组件中 onload 方法不触发怎么办?

vue3 onload 方法不触发的问题解析

在 vue3 中,onload 方法在组件内部无法正常触发,但在入口文件 main.js 中可以正常工作。

原因是:

  • onload 事件是在浏览器页面完全加载完成后触发,而 vue3 组件是在页面加载完毕后才被挂载的。
  • 在组件内,onload 事件已经被其他控件所覆盖。

解决方案:

为了在组件中监听页面加载完成,可以使用 vue3 的 $nexttick 方法。$nexttick 会在当前 dom 更新循环结束之后执行回调函数,确保组件已完全挂载:

onMounted(() => {
  nextTick(() => {
    console.log('页面加载完成');
    // 关闭 loading 动画
  });
});
来源:1731449597