vue 生命周期5 总结 (8个钩子除路由三个钩子)

要点: 

 

 

重要的只有两个流程,挂载后(mounted)做初始化的事 销毁前(beforeDestroy)做收尾的事

 

这边讲了8个钩子,还有3个钩子到路由那再说

拆分为4对:
1.

beforeCreate和created  创建之前和创建完毕

beforeCreate是在数据监测和数据代理创建之前,

 created是在数据监测和数据代理创建之后

也就是以创建数据代理和数据监测为分界线

注:不要误认为为vm创建前!!!!!!!,不然beforeCreate连this都读不到

2.beforeMount和mounted 挂载之前和挂载完毕

3.beforeUpdate和 updated 更新之前和更新完毕

4.beforedestroy和destroy   销毁之前和销毁完毕

引用之前的那个改变透明度的小案例

并增加一个功能当,点击一个按钮,让它透明度定格,不变了

虽然外卖这边用了vm.$destroy相当与vm自己把自己销毁了但是在一般开发下,都不会调用$destroy,一般都是以他杀的形式将它销毁

这样写会报错因为 id只在mounted作用域内

 

 解决一,不推荐不太好

用let定义中转

 解决二:

直接定义一个this.xxx 直接把值定义在vm上,当别的要调用,只需this.xxx即可

实现了效果,但是这种改变太轻度了 

 

比如

修改对应透明度,仍可修改,也就是说这样子,只是把定时器关了

如果要重度的关闭,即把vm也销毁了

点了也没用了,改变不了透明度了

 

但是定时器还没有关

验证:

定时器还在走,vm虽然没了但是定时器还在走

 

把前面两者结合

可以实现效果

 

但是那个关闭定时器还可以写在beforeDestroy

 

运行流程:

当调用$destroy ,就会触发beforeDestroy和destroyed,然后在beforeDestroy写上关闭定时器就能实现


引用beforeDestroy的意义

当,一个vm不是被自己销毁而是被其他销毁,则无法只有回调函数,能实现在销毁前,关闭定时器

但用beforeDestroy可以

用beforeDestroy写的话,无论,自我销毁,还是其他导致的销毁,只要进行销毁,就会调用beforeDestroy  其中就可以写许多的善后工作,比如关定时器等等

 

总结:

 

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值