网站首页 > 博客文章 正文
Vue组件中的生命周期钩子函数有哪些?
Vue 组件中的生命周期钩子函数可以分为三个主要阶段:
创建阶段、更新阶段和销毁阶段。
以下是 Vue 2.x 中常用的生命周期钩子函数:
一:创建阶段:
- beforeCreate:在实例初始化之后,数据观测 (data observer) 和事件配置 (event/watcher setup) 之前被调用。
- created:在实例创建完成后被调用。可以访问到实例的数据,并进行初始化操作。
二:更新阶段:
- beforeMount:在模板编译/挂载之前被调用。
- mounted:在实例挂载到 DOM 后被调用。可以访问到挂载的 DOM 元素。
三:销毁阶段:
- beforeDestroy:在实例销毁之前被调用。可以进行清理工作、解绑事件监听等操作。
- destroyed:在实例销毁后被调用。实例上的所有指令和事件监听器都会被移除。
除了上述常用的生命周期钩子函数,Vue 还提供了其他一些钩子函数,用于更精细地控制组件的生命周期。以下是一些其他的生命周期钩子函数:
- beforeUpdate:在数据更新之前,DOM 重新渲染之前被调用。可以在更新之前进行额外的操作。
- updated:在数据更新之后,DOM 重新渲染之后被调用。可以访问到更新后的 DOM 元素。
- activated:在组件被激活时调用,例如在 <keep-alive> 组件中。
- deactivated:在组件被停用时调用,例如在 <keep-alive> 组件中。
需要注意的是,Vue 3.x 引入了新的生命周期钩子函数,并对一些钩子函数进行了更改。具体的钩子函数命名和调用时机可能会有所不同。
Vue 3.x中的生命周期钩子函数有哪些变化?
在 Vue 3.x 中,生命周期钩子函数的命名和调用时机发生了一些变化。以下是 Vue 3.x 中的生命周期钩子函数及其对应的变化:
一:创建阶段:
- beforeCreate:与 Vue 2.x 中相同,保持不变。
- created:与 Vue 2.x 中相同,保持不变。
二:更新阶段:
- beforeMount:在 Vue 3.x 中已被移除,不再存在。
- mounted:在 Vue 3.x 中已被移除,不再存在。
三:组件更新:
- beforeUpdate:与 Vue 2.x 中相同,保持不变。
- updated:与 Vue 2.x 中相同,保持不变。
四:销毁阶段:
- beforeUnmount:在组件卸载之前被调用。替代了 Vue 2.x 中的 beforeDestroy。
- unmounted:在组件卸载之后被调用。替代了 Vue 2.x 中的 destroyed。
五:组件挂起和恢复:
- beforeMount:在组件挂载之前被调用。用于在组件挂起之前执行清理操作。
- mounted:在组件挂载之后被调用。用于在组件恢复之后执行初始化操作。
六:组件暂停和恢复:
- beforeUpdate:在组件暂停之前被调用。用于在组件暂停之前执行清理操作。
- updated:在组件恢复之后被调用。用于在组件恢复之后执行初始化操作。
注意,Vue 3.x 引入了新的 Composition API,其中使用了一些不同的生命周期函数。例如,setup 函数可以用来替代 beforeCreate 和 created 钩子函数,并提供更灵活的组件配置选项。
在使用 Vue 3.x 版本时,请参考官方文档以了解详细的生命周期钩子函数及其用法。
猜你喜欢
- 2024-10-09 9、Vue生命周期(vue生命周期的四个阶段)
- 2024-10-09 「前端Vue学习系列」三、Vue进阶篇
- 2024-10-09 面试官:你对vue生命周期的理解?(简述vue生命周期)
- 2024-10-09 vue的生命周期(概览)(vue生命周期的四个阶段)
- 2024-10-09 Vue如何创建自定义指令?(vuecli新增自定义指令)
- 2024-10-09 Vue-生命周期总结(vue中的生命周期)
- 2024-10-09 vue的生命周期(vue 的生命周期)
- 2024-10-09 vue3讲解setup,ref,reactive和watch语法
- 2024-10-09 vue基础知识(vue要掌握哪些知识?)
- 2024-10-09 Vue3学习手册(vue3 从入门到实战)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)