当前位置: 首页 > news >正文

个人商城网站建设企业网站备案信息查询系统

个人商城网站建设,企业网站备案信息查询系统,专业站,成都建设网官网Vue 实例在创建、挂载、更新、销毁的过程中会触发一系列的生命周期钩子(Lifecycle Hooks),让开发者可以在不同阶段执行逻辑。 1. Vue 2 生命周期完整流程 生命周期的四个主要阶段 创建阶段(Creation)挂载阶段&#…

Vue 实例在创建、挂载、更新、销毁的过程中会触发一系列的生命周期钩子(Lifecycle Hooks),让开发者可以在不同阶段执行逻辑。

1. Vue 2 生命周期完整流程

生命周期的四个主要阶段

  1. 创建阶段(Creation)
  2. 挂载阶段(Mounting)
  3. 更新阶段(Updating)
  4. 销毁阶段(Destruction)

2. Vue 2 生命周期钩子(Hooks)

阶段生命周期钩子作用
创建前beforeCreate组件刚创建,还没有 datamethodscomputed
创建后createddatamethods 已初始化,但 DOM 还未渲染
挂载前beforeMounttemplate 解析完毕,还未挂载到真实 DOM
挂载后mounted组件挂载到 DOM,可以操作 DOM
更新前beforeUpdatedata 变化,DOM 还未更新
更新后updateddata 变化,DOM 已更新
销毁前beforeDestroy组件即将销毁,可清理定时器、解绑事件
销毁后destroyed组件已销毁,所有子组件也被销毁

3. Vue 2 生命周期示例 

<template><div><h1>{{ message }}</h1><button @click="changeMessage">修改消息</button></div>
</template><script>
export default {data() {return {message: "Hello Vue!"};},methods: {changeMessage() {this.message = "Vue 生命周期演示";}},beforeCreate() {console.log("1. beforeCreate - data 还未初始化", this.message); // undefined},created() {console.log("2. created - data 初始化完成", this.message);},beforeMount() {console.log("3. beforeMount - 模板编译完成,尚未挂载");},mounted() {console.log("4. mounted - 组件已挂载到 DOM,可进行 DOM 操作");},beforeUpdate() {console.log("5. beforeUpdate - data 变化,DOM 还未更新", this.message);},updated() {console.log("6. updated - data 变化,DOM 已更新", this.message);},beforeDestroy() {console.log("7. beforeDestroy - 组件即将销毁,可清理定时器等");},destroyed() {console.log("8. destroyed - 组件已销毁");}
};
</script>

4. Vue 3 生命周期

Vue 3 依然有生命周期钩子,但使用 setup() 时需要使用 Vue 3 提供的 onXxx 形式的钩子(从 vue 引入)。

Vue 3 生命周期对比

Vue 2Vue 3 (Composition API)
beforeCreatesetup() 直接初始化
createdsetup() 直接初始化
beforeMountonBeforeMount
mountedonMounted
beforeUpdateonBeforeUpdate
updatedonUpdated
beforeDestroyonBeforeUnmount
destroyedonUnmounted

Vue 3 生命周期示例 

<template><div><h1>{{ message }}</h1><button @click="changeMessage">修改消息</button></div>
</template><script>
import { ref, onMounted, onBeforeUnmount, onUpdated } from "vue";export default {setup() {const message = ref("Hello Vue 3!");const changeMessage = () => {message.value = "Vue 3 生命周期演示";};onMounted(() => {console.log("组件已挂载");});onUpdated(() => {console.log("组件更新了");});onBeforeUnmount(() => {console.log("组件即将销毁");});return { message, changeMessage };}
};
</script>

5. 生命周期使用场景

钩子适用场景
beforeCreate组件初始化前,可用于 console.log 调试
created获取 data,初始化 Vuex,发起 Ajax 请求
beforeMountDOM 渲染前执行一些逻辑
mounted获取 DOM,初始化 第三方库(如 ECharts
beforeUpdatedata 变化时,执行一些更新前的计算
updatedDOM 更新后执行操作(如日志记录)
beforeDestroy清除 setInterval、解绑 window 事件
destroyed组件销毁后的清理操作

6. Vue 生命周期面试题

Q1: createdmounted 有什么区别?

钩子执行时机适用场景
created组件实例创建完成,但 DOM 还未渲染可用于获取 data、调用 Vuex
mounted组件挂载到 DOM适用于 DOM 操作,如 ECharts

📌 如果要操作 DOM,需要在 mounted 中进行。

Q2: beforeDestroy 用来做什么?

beforeDestroy 适用于:

  • 清除定时器
  • 解绑全局事件
  • 销毁第三方库
beforeDestroy() {clearInterval(this.timer); // 清除定时器window.removeEventListener("resize", this.handleResize); // 解绑事件
}

http://www.yayakq.cn/news/116510/

相关文章:

  • 自己做的网站背景怎么设置沈阳网站建设-中国互联
  • 网站前端用什么语言小游戏 打开
  • 广州海珠建网站企业网站宣传册应该哪个部门做
  • 网站打不开是怎么回事苏州网站建设费用
  • 该如何建设和优化一个网站网站开发设计的源码
  • 注册网站平台要多少钱设计有特色的网站
  • 西部数码网站建设腾讯云cdn配置wordpress
  • 响应式学校网站无法进行网站备案
  • 茌平网站制作国际最新局势最新消息
  • 邯郸网站优化怎么做wordpress编辑器文件
  • 怎样建立网站平台天津市招标投标公共服务平台
  • 石大远程在线考试 《网页设计与网站建设》知名的网站设计公司
  • 兴润建设集团有限公司网站精利手表网站
  • 公司网站运营方案策划南宁seo教程
  • 网站建设招标 报告微信公众号怎么发布作品
  • 蔡甸网站建设山西山西省建设厅网站首页
  • 绍兴市网站建设可视化设计最重要的是确定网站的
  • 做网站是什么职业河北建设工程新希望
  • 手机网站模板开发工具淘宝搜索排名
  • 网站开发去哪里找网站模板源码下载
  • 分销商城系统源码seo还有用吗
  • 网站页尾的作用小伙做钓鱼网站 背警方带走
  • 南宁公司官网建站免费外链网站
  • 单位加强网站建设静态淘宝网站制作模板
  • 网站制作地点wordpress指定分类投稿
  • 苏州网站建设比较好的公司织梦禁止网站右击
  • 加强 廉政网站建设如何成为电商
  • 梅州网站优化公司discuz
  • 网站开发 项目计划书网站汇总表怎么做
  • 建设网站用哪个主机好百度快照官网