Vue.js前端框架教程10:Vue生命周期钩子onBeforeMount 和onMounted

文章目录

生命周期钩子

Vue 3 中,onBeforeMountonMounted 是生命周期钩子,它们在组件的生命周期中的不同阶段被调用。这些钩子通常用于执行与 DOM 相关的操作,例如数据获取、设置 DOM 元素或者执行副作用。

以下是这两个生命周期钩子的详细说明:

onBeforeMount

onBeforeMount 钩子在组件第一次挂载到 DOM 之前被调用,此时组件的模板已经渲染成 HTML,但还没有插入文档中。在这个钩子中,组件的响应式属性已经可用,但它们还没有被渲染到 DOM 中。

javascript 复制代码
import { onBeforeMount } from 'vue';

export default {
  setup() {
    onBeforeMount(() => {
      // 在这里执行代码,组件模板已经渲染,但还没有挂载到 DOM
      console.log('组件即将挂载');
    });
  }
};

onMounted

onMounted 钩子在组件第一次挂载到 DOM 之后被调用。此时,组件的模板已经渲染并插入到文档中,可以执行 DOM 相关的操作,如访问子组件实例或子元素。

javascript 复制代码
import { onMounted } from 'vue';

export default {
  setup() {
    onMounted(() => {
      // 在这里执行代码,组件已经挂载到 DOM
      console.log('组件已经挂载');
    });
  }
};

使用示例

以下是一个简单的 Vue 3 组件示例,展示了如何使用 onBeforeMountonMounted

html 复制代码
<template>
  <div>
    <h1>{{ message }}</h1>
  </div>
</template>

<script setup>
import { ref, onBeforeMount, onMounted } from 'vue';

const message = ref('Hello, Vue!');

onBeforeMount(() => {
  console.log('组件即将挂载,模板已渲染但未插入 DOM');
});

onMounted(() => {
  console.log('组件已经挂载到 DOM');
});
</script>

在这个示例中:

  • message 是一个响应式引用,用于存储组件中显示的消息。
  • onBeforeMount 钩子在组件即将挂载时被调用,此时模板已经渲染但还没有插入 DOM
  • onMounted 钩子在组件已经挂载到 DOM 后被调用。

这些生命周期钩子可以帮助你更好地控制组件的初始化和挂载过程,确保在正确的时间执行特定的操作。

相关推荐
我叫黑大帅3 分钟前
前端如何利用 GitHub Actions 自动构建并发布到 GitHub Pages?
前端·面试·github
smallLabel7 分钟前
记一次 OpenClaw 飞书插件接入填坑指南: Error: spawn EINVAL
前端
zzjyr9 分钟前
react前端项目 fetch原生 与 umijs request 四种请求区别
前端
我叫黑大帅9 分钟前
前端总说的防抖与节流到底是什么?
前端·javascript·面试
小时前端10 分钟前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
71Ove10 分钟前
告别手写字符串!UniApp 路由全自动类型生成工具
前端
掘金安东尼12 分钟前
从平面到空间:用 React Three Fiber 构建 3D 产品网格
前端·javascript·面试
小时前端12 分钟前
HTTPS 页面加载 HTTP 脚本被拦?同源代理来救场
前端·https
用户6837093595513 分钟前
在 Rokid AR 眼镜里玩消消乐:基于 Unity 2022 LTS + UXR 3.0 SDK 的轻量级 AR 游戏尝试
前端
zzjyr14 分钟前
@umijs/max 中导出的 request 方法,如何实现 GET/POST/PUT/DELETE 这四种核心请求
前端