学习Vue 3.0中的onMounted和onUnmounted钩子函数

学习Vue 3.0中的onMounted和onUnmounted钩子函数


一、什么是onMounted和onUnmounted?

Vue 3.0带来了许多令人兴奋的新特性和改进,其中包括更强大的组合式API。在这篇文章中,我们将重点介绍Vue 3.0中两个重要的组件生命周期钩子函数:onMounted和onUnmounted。这两个钩子函数可以帮助我们更好地管理组件的生命周期和行为。

onMounted和onUnmounted是Vue 3.0中的两个新的组件生命周期钩子函数。它们分别在组件挂载后和组件卸载前执行。这些钩子函数可以用来执行一些特定的逻辑,例如初始化数据、订阅事件、启动定时器等。

二、如何使用onMounted和onUnmounted?

让我们来看看如何在Vue 3.0中使用这两个钩子函数。

1、使用onMounted

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

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

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

onMounted(() => {
  console.log('组件已挂载')
  // 在组件挂载后执行的逻辑,例如初始化数据、订阅事件等
})
</script>

在上面的例子中,我们使用onMounted钩子函数在组件挂载后执行了一些逻辑,这里只是简单地打印了一条消息到控制台。你可以在这个钩子函数中执行任何需要在组件挂载后立即执行的逻辑。

2、使用onUnmounted

vue 复制代码
<script setup>
import { ref, onUnmounted } from 'vue'

const timerId = ref(null)

onUnmounted(() => {
  console.log('组件将被卸载')
  // 在组件卸载前执行的逻辑,例如清除定时器、取消订阅等
  if (timerId.value) {
    clearInterval(timerId.value)
  }
})

const startTimer = () => {
  timerId.value = setInterval(() => {
    console.log('定时器执行中')
  }, 1000)
}
</script>

在上面的例子中,我们使用onUnmounted钩子函数在组件即将被卸载前执行了一些逻辑,这里清除了一个定时器。你可以在这个钩子函数中执行任何需要在组件卸载前执行的清理操作,例如取消订阅、关闭WebSocket连接等。

三、总结

在本文中,我们学习了Vue 3.0中的onMounted和onUnmounted钩子函数,并看了一些简单的示例。这两个钩子函数为我们提供了更加灵活和强大的组件生命周期管理方式,使得我们能够更好地控制组件的行为和资源的释放。希望本文能够帮助你更好地理解和应用Vue 3.0中的组合式API。

相关推荐
撩得Android一次心动5 小时前
Jetpack Compose 知识点整理2【个人用】
android·笔记·学习·kotlin·compose
ShineWinsu5 小时前
对于JavaScript:操作元素的解析
开发语言·前端·javascript·面试·web·dom·元素
dadaobusi6 小时前
学习:灵犀指令集
学习
xhyu617 小时前
【学习笔记】图像质量评估方法 (5.生成图像是否符合用户要求)
笔记·学习·计算机视觉
lemon_yyds9 小时前
Vue 项目嵌入 React H5 技术方案
vue.js·react.js
顽疲9 小时前
java springboot vue 养老系统源码详解:请假 care_leave 销假与床位停费日扣实践
java·vue.js·spring boot
szp20059 小时前
Cache API 会丢掉 URL 里的 #:我的 9 个模型分块一直写在同一条缓存上
javascript·浏览器
卿卿的产品经理日记9 小时前
【AI产品经理实战】Day 38|try-except 踩坑实录:报错是数据
人工智能·笔记·python·学习·产品经理
keyipatience9 小时前
TypeScript学习(1)
前端·javascript·学习·typescript·html·css3
xifangge202510 小时前
基于 JavaScript 实现 CNC 数控切削参数与螺纹公差纯前端核算引擎
开发语言·前端·javascript