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

如何下载别人的网站模板如何做网络营销网站

如何下载别人的网站模板,如何做网络营销网站,腾讯云域名价格,有帮忙做儿童房设计的网站吗Vue 3 的生命周期与 Vue 2 相比有以下核心区别,主要体现在 钩子函数命名、组合式 API 和 新增功能 上。以下是详细对比和示例说明:1. 生命周期钩子名称变化Vue 3 对部分生命周期钩子进行了重命名,以保持命名一致性(添加 on 前缀&a…

Vue 3 的生命周期与 Vue 2 相比有以下核心区别,主要体现在 钩子函数命名组合式 API新增功能 上。以下是详细对比和示例说明:


1. 生命周期钩子名称变化

Vue 3 对部分生命周期钩子进行了重命名,以保持命名一致性(添加 on 前缀),并适配组合式 API:

Vue 2Vue 3说明
beforeCreate无(由 setup 替代)setup 函数已包含其逻辑
created无(由 setup 替代)setup 函数已包含其逻辑
beforeMountonBeforeMount组件挂载前触发
mountedonMounted组件挂载后触发
beforeUpdateonBeforeUpdate数据更新前触发
updatedonUpdated数据更新后触发
beforeDestroyonBeforeUnmount组件卸载前触发
destroyedonUnmounted组件卸载后触发
activatedonActivated<keep-alive> 缓存组件激活时触发
deactivatedonDeactivated<keep-alive> 缓存组件停用时触发
errorCapturedonErrorCaptured捕获子组件错误时触发

2. 组合式 API 的引入

Vue 3 引入了 组合式 API(Composition API),通过 setup() 函数替代 Vue 2 的 beforeCreatecreated 钩子。组合式 API 提供了更灵活的代码组织方式,尤其适合逻辑复用。

Vue 2 示例(选项式 API)
export default {data() {return { count: 0 };},created() {console.log('created');},mounted() {console.log('mounted');}
};
Vue 3 示例(组合式 API)
import { ref, onMounted } from 'vue';export default {setup() {const count = ref(0);console.log('setup'); // 替代 Vue 2 的 created/beforeCreateonMounted(() => {console.log('mounted');});return { count };}
};

3. 新增调试钩子

Vue 3 新增了两个调试钩子,用于追踪响应式依赖和渲染触发:

  • onRenderTracked:当渲染函数追踪到响应式依赖时触发。
  • onRenderTriggered:当响应式依赖触发重新渲染时触发。
示例
import { onRenderTracked, onRenderTriggered } from 'vue';export default {setup() {onRenderTracked((event) => {console.log('追踪依赖:', event.key); // 打印被追踪的响应式属性});onRenderTriggered((event) => {console.log('触发更新:', event.key); // 打印触发更新的响应式属性});}
};

4. 执行顺序变化(父子组件)

在父子组件的生命周期执行顺序上,Vue 3 与 Vue 2 有差异:

Vue 2 的执行顺序
父 created → 子 created → 子 mounted → 父 mounted
Vue 3 的执行顺序
父 setup → 子 setup → 父 onBeforeMount → 子 onBeforeMount → 子 onMounted → 父 onMounted

5. 异步更新机制优化

Vue 3 的更新阶段采用 异步渲染 机制,优化了性能并减少不必要的重复计算。例如,多次修改响应式数据后,Vue 3 会合并更新,避免频繁触发 DOM 操作。

示例
import { ref, onUpdated } from 'vue';export default {setup() {const count = ref(0);onUpdated(() => {console.log('DOM 更新后触发一次');});// 多次修改 count,只会触发一次 onUpdatedcount.value++;count.value++;}
};

6. 清理副作用(Cleanup)

在 Vue 3 中,onBeforeUnmount 是清理资源(如定时器、事件监听器)的推荐位置。

Vue 2 示例
export default {mounted() {this.timer = setInterval(() => {console.log('定时器运行');}, 1000);},beforeDestroy() {clearInterval(this.timer); // 清理定时器}
};
Vue 3 示例
import { onMounted, onBeforeUnmount } from 'vue';export default {setup() {let timer = null;onMounted(() => {timer = setInterval(() => {console.log('定时器运行');}, 1000);});onBeforeUnmount(() => {clearInterval(timer); // 清理定时器});}
};

7. 完整对比示例

Vue 2 生命周期钩子
export default {data() {return { message: 'Hello Vue 2' };},created() {console.log('created');},mounted() {console.log('mounted');},beforeDestroy() {console.log('beforeDestroy');}
};
Vue 3 生命周期钩子
import { ref, onMounted, onBeforeUnmount } from 'vue';export default {setup() {const message = ref('Hello Vue 3');console.log('setup'); // 替代 created/beforeCreateonMounted(() => {console.log('mounted');});onBeforeUnmount(() => {console.log('onBeforeUnmount'); // 替代 beforeDestroy});return { message };}
};

总结

特性Vue 2Vue 3
钩子名称原始命名(如 beforeCreate添加 on 前缀(如 onBeforeMount
组合式 API不支持支持,通过 setup() 函数组织逻辑
调试钩子新增 onRenderTracked/onRenderTriggered
执行顺序父组件先执行 created父组件先执行 setup
清理资源beforeDestroyonBeforeUnmount
异步更新优化同步更新异步合并更新

最佳实践建议

  1. 优先使用组合式 API:在 Vue 3 中,组合式 API 更适合复杂逻辑的组织和复用。
  2. 清理资源:始终在 onBeforeUnmount 中移除事件监听器或清除定时器。
  3. 避免在 onUpdated 中修改数据:防止无限更新循环。
  4. 利用调试钩子:通过 onRenderTracked 和 onRenderTriggered 优化性能瓶颈。

通过以上对比,可以更清晰地理解 Vue 3 的生命周期设计与 Vue 2 的差异,并在实际开发中灵活应用。

http://www.dtcms.com/a/580032.html

相关文章:

  • 中国工商网官方网站wordpress api接口 APP
  • 建设培训网站办安全员c证网站搜索引擎优化的步骤
  • 中心网站建设方法网站建设中出现的错误代码
  • 南宁网站平台wordpress文章页的宽度
  • 怎么套用网站模板轻量云做网站怎么样
  • 青海网站建设公司哪家好网站建设与维护模板
  • 网站建设先进个人西安企业网站建设模板
  • 广西学校论坛网站建设加强部门网站建设工作
  • 网站服务合同范本文创产品设计分析
  • 莆田网站制作公司韩国男女直接做的视频网站
  • 网站首页列表布局设计沪上家居装修官网
  • seo网站托管徐汇网站制作设计
  • 企业自建网站有哪些绍兴seo排名公司
  • 威海城乡建设局网站做网站最少几个页面
  • 陇南市建设局网站wordpress站点取名
  • 学校为什么要做网站可以做雷达图的网站
  • 营销类网站推荐自助建站 平台
  • 最版网站建设案例北京网络职业技术学院官网
  • 网站是别人做的域名自己怎么续费网站后台首页
  • php和c 做网站的区别wordpress卖
  • 制作网站设计的技术有郴州新网招聘
  • 网站代付系统怎么做设计包装公司
  • 浙江电商网站建设销售wordpress文章阅读量
  • 提升审美网站c#网站开发模板
  • 90设计网站几次是什么意思用护卫神做共享网站
  • 网站建设的一般流程邯郸网站设计公司
  • 广东建设公司网站郑州网站关
  • 做火锅加盟哪个网站好网站专题制作教程
  • 网站在手机上内页图不显示网站将要准备建设的内容有哪些
  • php5 mysql网站开发实例精讲温州市建设工程质量监督站网站