对vue生命周期函数的理解

本文详细解析Vue.js的生命周期钩子,包括beforeCreate、created、beforeMount、mounted、beforeUpdate、updated等阶段的作用与使用场景。同时,深入探讨了computed、watch与methods在数据处理与响应式更新中的区别与应用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

beforeCreate:刚刚创建组件,数据还没有挂载,意思是还拿不到data中的数据。

created:可以获取到data中的数据,也可以更改数据,这里更改数据不会触发updated函数

beforeMount:虚拟dom已经创建完成,马上就要渲染,这里更改数据不会触发updated函数

mounted:组件已经出现在页面上,数据及真实的dom都已经处理好了,事件已经挂载好了

beforeUpdate:当组件或实例的数据更改之后,会立即执行beforeUpdate,然后vue的虚拟dom机制会重新构建虚拟dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染,一般不做什么事儿

updated:当更新完成后,执行updated,数据已经更改完成,dom也重新render完成,可以操作更新后的虚拟dom

默认加载的时候先computed再watch,不执行methods;等触发某一事件后,则是:先methods再watch。

Props,methods,data和computed的初始化都是在beforeCreated和created之间完成的。

computed:计算属性是根据依赖关系进行缓存的计算,并且只在需要的时候进行更新。适用于重新计算比较费时不用重复数据计算的环境。

watch:watch属性是一个对象,键是需要观察的表达式,值是对应回调函数,回调函数得到的参数为新值和旧值。适用场景有输入值是否有效等。

总结:数据量大,需要缓存的时候用computed;每次都需要重新加载,不需要缓存的时候用methods。要在数据变化的同时进行异步操作或者比较大的开销,那么选择watch。watch只能操作当前组件中data中的属性。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值