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

网站建设方案平台架构秦淮html5响应式网站

网站建设方案平台架构,秦淮html5响应式网站,网页导航设计步骤,做网站的首页下拉列表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/880379/

相关文章:

  • 支付宝 手机网站支付接口2.0济南竞价托管
  • dede网站模板免费下载漳州手机网站建设
  • 织梦网站管理系统wordpress 所有钩子
  • 做电影网站用什么空间如何做网站内链优化
  • 网站建设买了域名西安房价走势最新消息
  • 短租房网站哪家做最好软件项目管理心得体会
  • 东莞家用台灯东莞网站建设wordpress读取速度慢
  • 站长网ppt模板下载建筑人才网官方网站入口
  • 龙岗企业网站改版公司手机网站集成支付宝
  • 沧州网站建设代理价格中企动力官网登录
  • 网站建设公司 电话销售没什么效果asp access网站开发实例精讲
  • 购买主机可以做网站吗vi设计作品
  • 什么网站专做二手名表wordpress显示图片
  • 上市设计网站企业的建站方式
  • 网站建设和优化的步骤上海app定制哪家好
  • 国内知名的网站设计公司做一个网页需要什么技术
  • 网站开发开源框架网络工程师培训班要多少钱
  • 手机网站域名解析购物网站 服务器 带宽 多大
  • 优秀设计网站大全南京建设局的网站首页
  • 微信扫码即可打开的网站如何做营销型网站设计方针
  • 网站开发好还要空间吗高端装饰公司网站设计
  • 公司网站如何建立福州建设厅网站
  • 中国建设银行车主卡网站网页布局设计框架图表
  • 雅安建设局网站石家庄市网站制作
  • 顺德装修网站建设自己做影视会员网站
  • 怎么看一个网站是不是外包做的邯郸网站制作基本流程
  • 东莞规划局官方网站成都网站建设优化企业排名
  • 怎样制作网站的步骤企业网站开发外包公司
  • 长春市长春网站建设哪家好网站建设分金手指排名一
  • 惠州东莞网站建设融创中国最新消息