当前位置: 首页 > 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.mmbaike.com/news/56202.html

相关文章:

  • 大连网站关键字优化百度seo官网
  • 导航网站容易做吗找文网客服联系方式
  • 新疆人防建设网站网站优化资源
  • 专做日式新中式庭院的网站有哪些seo外链购买
  • 丹江口市建设局网站搜索引擎营销是指
  • 做自己的优惠券网站seo分析网站
  • 软件公司 网站模板福建省人民政府门户网站
  • 收费网站设计方案首页关键词排名
  • 北京网站建设著名公司开发一个app价目表
  • 中国最好的品牌策划公司seo营销专员
  • mac下载字体wordpress谷歌排名优化入门教程
  • 竞价单页网站制作王通seo教程
  • 职称论文写作网站百度账户
  • 江苏营销型网站推广百度推广开户
  • 无锡做网站好百度资源搜索平台官网
  • 设计企业网站网站快照优化公司
  • 如何做黄色网站赚钱水平优化
  • 设计的商城网站建设推广营销策划方案
  • 如何评价网站是否做的好处网站建设与管理是干什么的
  • 网站滑动效果怎么做的网络优化工程师是干什么的
  • 嘉兴云推广网站百度百科词条
  • 专做国外旅游的网站福州短视频seo获客
  • 政府机关网站建设的依据引流推广平台软件
  • APP客户端网站建设网站批量查询
  • 虹口网站建设抖音seo怎么做的
  • 网站推广公司就去柚米互联网营销成功案例
  • 网站 关键词 选择今日新闻国际最新消息
  • 大连手机自适应网站建设价格淘宝推广引流方法有哪些
  • 免费网站大全app广州网络推广专员
  • 山西住房与建设部网站搜索引擎优化的概念是什么