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

html代码表白烟花特效徐州seo管理

html代码表白烟花特效,徐州seo管理,dede网站乱码,哪里有营销型网站最新报价Vue 的生命周期是指一个 Vue 组件从创建到销毁的整个过程。理解并合理使用这些生命周期钩子函数,可以帮助你在合适的时机执行初始化、数据获取、DOM 操作、清理等任务。一、Vue 生命周期概述 Vue 2.x 和 Vue 3.x(Composition API)生命周期大致…

Vue 的生命周期是指一个 Vue 组件从创建到销毁的整个过程。理解并合理使用这些生命周期钩子函数,可以帮助你在合适的时机执行初始化、数据获取、DOM 操作、清理等任务。


一、Vue 生命周期概述

Vue 2.x 和 Vue 3.x(Composition API)生命周期大致相同,但写法略有不同:

阶段描述
beforeCreate / onBeforeMount实例刚被创建,属性和方法还未初始化
created / onMounted实例已经创建,属性已绑定,但 DOM 还未生成
beforeMount / onBeforeMount模板编译/挂载之前
mounted / onMounted模板编译/挂载之后,此时可以访问 DOM
beforeUpdate / onBeforeUpdate数据更新前调用,此时视图尚未更新
updated / onUpdated数据更新后调用,视图也已更新
beforeUnmount / onBeforeUnmount组件销毁前调用,用于清理事件、定时器等
unmounted / onUnmounted组件销毁后调用

二、生命周期使用建议与最佳实践

1. created / onMounted:数据初始化、接口请求

推荐使用:
  • createdonMounted 中进行数据初始化、接口请求。
  • 若需要操作 DOM,则建议在 mounted 中执行。
// Vue 2 Options API
export default {data() {return {users: []};},created() {this.fetchUsers();},methods: {async fetchUsers() {const res = await fetch('/api/users');this.users = await res.json();}}
}
// Vue 3 Composition API
import { onMounted } from 'vue';export default {setup() {onMounted(async () => {const res = await fetch('/api/users');// 处理数据...});}
}

⚠️ 注意:避免在 created 中操作 DOM,因为此时 DOM 尚未渲染。


2. mounted / onMounted:DOM 操作、第三方库初始化

推荐使用:
  • 初始化第三方组件(如 ECharts、地图、滑动插件等)
  • 获取真实 DOM 节点信息(如高度、宽度)
mounted() {this.$nextTick(() => {this.initChart();});
}
onMounted(() => {initChart(); // 假设是 ECharts 初始化
});

⚠️ 注意:如果数据异步加载完成后再渲染 DOM,建议在 watchwatchEffect 中处理 DOM 操作。


3. beforeUpdate / onBeforeUpdate:响应数据变化前

推荐使用:
  • 在数据变更前做一些准备工作(比如记录旧值)
onBeforeUpdate(() => {console.log('数据即将更新');
});

4. updated / onUpdated:响应数据变化后

推荐使用:
  • 数据更新后重新计算布局或重新渲染某些动态内容
  • 不要频繁触发更新逻辑,避免死循环
onUpdated(() => {console.log('数据已更新,可重新渲染视图');
});

⚠️ 注意:不要在 updated 中修改响应式数据,否则会再次触发更新,导致无限循环。


5. beforeUnmount / onBeforeUnmount:组件销毁前的清理工作

推荐使用:
  • 清除定时器、事件监听器、取消订阅
  • 手动释放内存资源
onBeforeUnmount(() => {clearInterval(timer);window.removeEventListener('resize', handleResize);
});

6. activated / deactivated(仅限 keep-alive 缓存组件)

推荐使用:
  • 当组件被 <keep-alive> 缓存时,这两个钩子用于控制激活/失活状态
activated() {console.log('组件被激活');
},
deactivated() {console.log('组件被缓存');
}

三、Vue 2 与 Vue 3 生命周期对比表

Vue 2 (Options API)Vue 3 (Composition API)说明
beforeCreate自动调用,不推荐手动使用
created数据初始化完成
beforeMountonBeforeMount挂载前
mountedonMounted挂载完成,可操作 DOM
beforeUpdateonBeforeUpdate数据更新前
updatedonUpdated数据更新后
beforeUnmountonBeforeUnmount销毁前
unmountedonUnmounted销毁后
activatedonActivated<keep-alive> 激活
deactivatedonDeactivated<keep-alive> 失活

四、常见问题 & 使用建议

场景建议生命周期
请求数据createdonMounted
初始化第三方组件mountedonMounted
监听窗口大小变化mounted 添加监听,beforeUnmount 移除监听
表单验证初始化mounted
定时器管理mounted 启动,beforeUnmount 清除
动态样式设置mountedupdated
组件销毁前清理beforeUnmount
缓存组件状态activated / deactivated

五、示例代码汇总(Vue 3 Composition API)

import { onMounted, onUpdated, onBeforeUnmount } from 'vue';export default {setup() {let timer = null;onMounted(() => {console.log('组件挂载完成');timer = setInterval(() => {console.log('定时器运行中...');}, 1000);});onUpdated(() => {console.log('组件更新完成');});onBeforeUnmount(() => {console.log('组件即将销毁');clearInterval(timer);});}
}
http://www.dtcms.com/wzjs/568766.html

相关文章:

  • 怎样在手机上做网站网上商城可行性分析报告
  • 建设官方企业网站深圳网站建设找哪家
  • 湖南智能网站建设哪里好个人+网站可以做导航吗
  • 网站建设步骤 教 程wordpress伪静态规则nginx
  • 南昌网站建设制作与维护龙泉驿最新消息
  • 网站全屏轮播怎么做网络服务器是指
  • 靖江网站定制西安中高风险地区
  • 网站开发服务流程推荐黄的网站
  • 怎么删除网站里的死链接做网站用jsp还是j2ee
  • 那个网站ppt做的比较好asp.net做网站如何展示界面
  • 青岛公司网站建设公司专业做网站的网站
  • 在线教育网站建设广州市研发网站建设平台
  • 设计网站免费下载网站建设问卷调查表
  • 网站开发公司上指定关键词seo报价
  • apache添加多个网站微博营销案例
  • 兴义网站开发企业网站seo优
  • 界面设计网站小程序开发平台多少钱
  • iis网站属性没有asp.net网络营销的方式
  • php高性能网站建设网站管理系统制作
  • 岳阳建设网站江西科技学校网站建设
  • 用dedecms做的网站 脚本是什么如何做学校网站app
  • 不会PS怎么建网站黄山找人做网站
  • 新乡商城网站建设哪家专业wordpress 调整布局
  • 永泰县网站集约化建设石龙网站建设
  • 自己电脑怎样做网站广告投放平台代理
  • 沈阳网站建设本地化技术服务推书网
  • 珠海外贸网站建设济南房产网官网首页
  • 网站静态页面模板网站正在建设中中文
  • 做暧网站镇江网站制作案例
  • 外贸建站模版东莞网站优化什么方法