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

网站建设好推荐asp简单购物网站源码

网站建设好推荐,asp简单购物网站源码,营销网站建设公司排名,宁波黄页网vue生命周期钩子详解(Vue 3版本) 一、生命周期阶段划分 Vue组件的生命周期可分为四大阶段,每个阶段对应特定钩子函数: 创建阶段:初始化实例并准备数据挂载阶段:将虚拟DOM渲染为真实DOM更新阶段&#xff…

vue生命周期钩子详解(Vue 3版本)

一、生命周期阶段划分

Vue组件的生命周期可分为四大阶段,每个阶段对应特定钩子函数:

  1. 创建阶段:初始化实例并准备数据
  2. 挂载阶段:将虚拟DOM渲染为真实DOM
  3. 更新阶段:响应数据变化并重新渲染
  4. 销毁阶段:清理资源并终止组件
二、核心钩子函数及用途
import { ref, onMounted, onUnmounted } from 'vue';export default {setup() {const count = ref(0);// 创建阶段onMounted(() => {console.log('组件已挂载,可操作DOM'); // [1,4,9](@ref)});// 更新阶段watchEffect(() => {console.log('数据更新,执行副作用'); // [1,4](@ref)});// 销毁阶段onUnmounted(() => {clearInterval(count.value); // [4,9](@ref)});return { count };}
};

1. 创建阶段

  • onMounted:组件挂载完成后触发,适合初始化第三方库、DOM操作
    onMounted(() => {const element = document.getElementById('app');element.style.color = 'red'; // [4,6](@ref)
    });
  • onBeforeMount:挂载开始前触发,用于模板预处理(Vue 3新增)

2. 挂载阶段

  • onRenderTracked:响应式依赖被追踪时触发(组合式API独有)
    onRenderTracked((event) => {console.log('依赖变化:', event.key); // [1,4](@ref)
    });

3. 更新阶段

  • onBeforeUpdate:数据更新但DOM未重绘前触发
    onBeforeUpdate(() => {console.log('数据即将更新'); // [4,9](@ref)
    });
  • onUpdated:DOM更新完成后触发
    onUpdated(() => {console.log('DOM已更新'); // [4,9](@ref)
    });

4. 销毁阶段

  • onBeforeUnmount:组件销毁前触发,用于清理工作
    onBeforeUnmount(() => {clearInterval(count.value); // [4,9](@ref)
    });
  • onUnmounted:组件完全销毁后触发
    onUnmounted(() => {console.log('组件已销毁'); // [4,9](@ref)
    });
三、使用建议
  1. 数据请求:优先在onMounted中发起,避免阻塞渲染
    onMounted(async () => {const data = await fetchData(); // [4,9](@ref)state.value = data;
    });
  2. DOM操作:仅在onMounted/onBeforeUpdate中进行
    onMounted(() => {const element = document.getElementById('my-element');element.addEventListener('click', handleClick); // [4,6](@ref)
    });
  3. 清理逻辑:必须成对出现(添加/移除事件监听、清除定时器)
    let timer = null;
    onMounted(() => {timer = setInterval(() => {}, 1000);
    });
    onBeforeUnmount(() => {clearInterval(timer); // [4,9](@ref)
    });
四、注意事项
  1. 避免阻塞主线程:不要在生命周期钩子中执行复杂计算
    // 错误示例:onMounted中执行大数据处理
    onMounted(() => {heavyComputation(); // [4,14](@ref)
    });
  2. 正确处理异步操作:使用watchEffectwatch监听数据变化
    watchEffect(() => {const data = await fetchData(count.value); // [1,4](@ref)state.value = data;
    });
  3. 父子组件生命周期顺序
    父 beforeMount -> 子 beforeMount -> 子 mounted -> 父 mounted
    父 beforeUnmount -> 子 beforeUnmount -> 子 unmounted -> 父 unmounted
  4. 组合式API注意事项
    • onMounted等钩子必须在setup函数内调用
    • 响应式数据需通过refreactive声明
    // 错误示例:未声明响应式数据
    setup() {onMounted(() => {console.log(nonRefData); // undefined});
    }
五、与React useEffect对比
Vue 生命周期React useEffect适用场景
onMounteduseEffect(() => {}, [])组件挂载后执行一次性操作
onBeforeUpdateuseEffect(() => {}, [data])数据更新前执行逻辑
onUnmounteduseEffect的清理函数组件销毁前清理资源

通过合理利用生命周期钩子,开发者可以精确控制组件的行为,提升代码可维护性和性能。在实际开发中,建议结合组合式API的watchEffectwatch实现更细粒度的响应式处理,同时严格遵循"挂载前/后"、"更新前/后"的操作规范,避免常见的内存泄漏和竞态条件问题。


文章转载自:

http://yzI8Ry6m.nbpqx.cn
http://Vodnc9KH.nbpqx.cn
http://ZD2pDvPv.nbpqx.cn
http://gVAG1O0z.nbpqx.cn
http://n21eyTrj.nbpqx.cn
http://3wRVeXkL.nbpqx.cn
http://rVIW6qqM.nbpqx.cn
http://I4Su0jVQ.nbpqx.cn
http://dOHbQfqM.nbpqx.cn
http://Bu3TuewH.nbpqx.cn
http://FWqH4k9n.nbpqx.cn
http://1HthvCl9.nbpqx.cn
http://Kt8TurPb.nbpqx.cn
http://RNXRLWNC.nbpqx.cn
http://RelISQGK.nbpqx.cn
http://trGNDg9y.nbpqx.cn
http://ESWVYGbA.nbpqx.cn
http://hLLcd9tv.nbpqx.cn
http://AlaplyDn.nbpqx.cn
http://2uf1I0rF.nbpqx.cn
http://F128SYMt.nbpqx.cn
http://i0c8iQYJ.nbpqx.cn
http://yEvPOPde.nbpqx.cn
http://6cDmmTey.nbpqx.cn
http://YCjyGZJT.nbpqx.cn
http://HZEfXghe.nbpqx.cn
http://BDLluYkh.nbpqx.cn
http://Mf02IQS1.nbpqx.cn
http://wGvdn4zs.nbpqx.cn
http://pHSooSMu.nbpqx.cn
http://www.dtcms.com/wzjs/621670.html

相关文章:

  • 检察院门户网站建设方案公司官网制作百度
  • 辽宁城建设计院有限公司网站静态网站开发步骤
  • 网站开发网站运营怎么做深圳建设培训中心网站
  • 腾讯做网站模版ppt
  • 陕西省城乡住房建设部网站网站建设的需求要素
  • 做网站原创要多少钱微商代理0元0投入
  • 那个网站做国外售货百度提交网站地图
  • 网站建设前 需要准备的旅游网站的功能结构图
  • 外币投资理财网站开发微信公众号前端开发教程
  • 赤峰酒店网站建设哪家便宜成都优化网站分析
  • 青岛城市建设局网站企业为什么做网站 图片
  • 网站关键词抓取设计师网站崩了
  • 网站搜索功能如何实现建设工程安全监督备案网站
  • 四川省城乡建设部网站首页wordpress 8.0怎么登录
  • 四川省建设执业注册中心网站ip备案信息查询
  • 怎么做网站推九州娱乐官方网站怎么做代理
  • 广西住建网官网重庆网站seo费用
  • 佛山做外贸网站信息企业网站优化托管
  • 商业网站建设与维护fm网站开发
  • 农村网站建设补助广州网站制作公司 番禺
  • 西宁网站建设兼职怎么生成链接
  • 成化区建设局网站平面设计有几个软件
  • 哪个免费自助建站系统最好用山东已经宣布封城的城市2022年
  • 扬州市建设局网站 竣工备案台州网站注册 公司
  • 外贸 企业网站 建设郑州市政务公开
  • 电子商务网站开发软件股票查询网站模板 wordpress
  • 51网站哪里去了建e网室内设计网图片
  • 目前热门的网站建设语言无忧网站优化
  • 做评测系统网站首先要干嘛如何对自己建设的网站进行推广
  • 网站建站和项目部署一样吗微信公众号怎么制作网页