全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

深入理解Vue unmounted

发布时间:2023-11-25 03:46:34
发布人:xqq

一、生命周期钩子介绍

Vue是基于组件的编程框架,每个组件都有自己的生命周期。这些生命周期由一系列的钩子函数组成,它们在组件实例化、更新和销毁的过程中被调用。下面是Vue的生命周期图示:


                        beforeCreate
                              ↓
                        created
                              ↓
                         beforeMount
                              ↓
                          mounted
                              ↓
                         beforeUpdate
                              ↓
                          updated
                              ↓
                         beforeDestroy
                              ↓
                           destroyed

二、Vue组件销毁

组件的销毁是指组件实例从DOM中删除,所有绑定的事件监听器和watcher都被销毁。当Vue组件被销毁时会触发一些钩子函数。这些钩子函数包括beforeDestroy和destroyed。


beforeDestroy: function() {
  // 在组件销毁之前执行的代码
}

destroyed: function() {
  // 在组件销毁之后执行的代码
}

三、Vue unmounted事件

除了Vue提供的beforeDestroy和destroyed钩子,Vue 3.0还引入了一个新的事件unmounted。unmounted事件与beforeDestroy和destroyed钩子类似,但是它可以用于非常规的场景,比如在组件从非DOM环境中切换时。例如,在单页应用程序(SPA)中,可以使用Vue Router在不同的路由之间切换。这时,组件会从DOM中被移除,但不会被销毁,因此也不会触发beforeDestroy和destroyed钩子。在这种情况下,可以使用unmounted事件来执行一些清理函数。


import { onUnmounted } from 'vue'

export default {
  setup() {
    onUnmounted(() => {
      // 在组件从非DOM环境中切换时执行的代码
    })
  }
}

四、在组件中使用unmounted事件

在使用unmounted事件时,我们可以在组件的setup函数中调用onUnmounted钩子,用于注册unmounted事件。


import { onUnmounted } from 'vue'

export default {
  setup() {
    onUnmounted(() => {
      // 执行清理函数
      document.removeEventListener('keydown', handleKeyDown)
    })

    const handleKeyDown = (event) => {
      // 处理按键事件
    }

    document.addEventListener('keydown', handleKeyDown)

    return {
      // 返回值...
    }
  }
}

五、总结

本文介绍了Vue的生命周期钩子,包括组件的创建、更新和销毁过程中所触发的钩子函数。我们还介绍了Vue 3.0引入的unmounted事件,它可以用于非常规的场景,比如在组件从非DOM环境中切换时。通过onUnmounted函数,我们可以在组件中注册unmounted事件,并在组件销毁时执行一些清理函数。

vue2转vue3

相关文章

cron-expression详解

cron-expression详解

2023-11-25
linux查设备号,linux查看设备编号

linux查设备号,linux查看设备编号

2023-11-25
Windows10LTSC版本激活

Windows10LTSC版本激活

2023-11-25
用SQLMap绕过WAF的方法详解

用SQLMap绕过WAF的方法详解

2023-11-25

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取