vue生命周期的理解

1、即将创建:对应的钩子函数为beforeCreate。此阶段为实例初始化之后,此时的数据观察和事件机制都未形成。

此时,实例中的data和el都是undefined。因此,在beforeCreate钩子函数中不能使用data中的数据,也不能获得DOM节点。

2、创建完毕:对应的钩子函数为created。在这个阶段vue实例已经创建,我们在同样打印一下data和DOM元素。

此时,我们能够读取到数据data的值,但是DOM还没有生成,所以和DOM相关的属性还不存在,自然也就不能获取DOM元素。

3、即将挂载:对应的钩子函数是beforemount。

能够读取到数据data的值,DOM生成。但是模板数据还没有进行渲染。还是原始{{name}}的状态。

4、渲染完毕:对应的钩子函数是mounted。

mounted是平时我们使用最多的函数了,一般我们的异步请求都写在这里。在这个阶段,数据和DOM都已被渲染出来。

5、即将更新渲染:对应的钩子函数是beforeUpdate。

beforeUpdate函数在数据更新后并没立即更新data里的数据,但是DOM中的数据已经改变,页面上更新显示了。

6、更新渲染后:对应的钩子函数是updated。

现在data中的数据终于和我们更改过的内容同步了!

7、销毁之前:对应的钩子函数是beforeDestroy。

上一步vue已经成功的通过数据驱动DOM更新,当我们不在需要vue操纵DOM时,就需要销毁Vue,也就是清除vue实例与DOM的关联,调用destroy方法可以销毁当前组件。在销毁前,会触发beforeDestroy钩子函数。比如,清除定时器。

8、销毁之后:对应的钩子函数是destroyed。

调用destroy前,我们改变name,在视图随之改变,beforeDestroy获取的DOM和我们更新后的结果一致。调用destroy后,我们改变name,视图不会改变,destroyed也不会获取到DOM信息了。
销毁之前,修改name的值,可以成功修改视图显示的内容为更新后的内容,调用实例的$destroy( )方法之后,vue实例与DOM的关系解绑,vue数据的任何变化都不会使DOM更新,说明实例成功被销毁了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值