码迷,mamicode.com
首页 > 其他好文 > 详细

vue生命周期总结

时间:2021-02-19 13:46:05      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:created   行数据   指示   事件监听器   函数   触发点   render   for   导致   

 

  • beforeCreate
  • created
  • beforeMount
  • mounted
  • beforeUpdate
  • updated
  • beforeDestroy
  • destroyed

1、在beforeCreate和created这个生命周期之间,进行初始化事件,进行数据的观测,可以看到在created的时候数据已经和data属性进行绑定(放在data中的属性当值发生改变的同时,视图也会改变)。此时还是没有el选项

2、在created和beforeMount首先会判断对象是否有el选项。如果有的话就继续向下编译,如果没有el选项,则停止编译,也就意味着停止了生命周期,直到在该vue实例上调用vm.$mount(el)。

render函数选项 > template选项 > outer HTML.

3、beforeMount和mounted 钩子函数间的生命周期。给vue实例对象添加$el成员,并且替换掉挂在的DOM元素。beforeMount方法中$el还未被创建,这期间VUE先后生成两份模板,所以在beforeMount之前只是虚拟的,并未真实存在

4、mounted。在mounted之前中还是通过{{message}}进行占位的,因为此时还有挂在到页面上,还是JavaScript中的虚拟DOM形式存在的。

5、 beforeUpdate钩子函数和updated钩子函数间的生命周期

  beforeUpdate,可以监听到data的变化但是view层没有被重新渲染,view层的数据没有变化。等到updated的时候 view层才被重新渲染,数据更新。

  当vue发现data中的数据发生了改变,会触发对应组件的重新渲染,先后调用beforeUpdate和updated钩子函数。

  beforeUpdate、updated函数的触发点并不是数据改变,而是视图改变,up更新message之后,导致触发beforeUpdate、updated函数,是因为视图中有{{message}}。可以将视图中的{{message}}删除后,更新message的值,发现            beforeUpdate、updated函数,并未触发。因为删除了视图中的{{message}}删除后 没有了观察者 自然就不会触发观察者的update 

6、beforeDestroy和destroyed钩子函数间的生命周期

beforeDestroy钩子函数在实例销毁之前调用。在这一步,实例仍然完全可用。
destroyed钩子函数在Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。

vue生命周期总结

标签:created   行数据   指示   事件监听器   函数   触发点   render   for   导致   

原文地址:https://www.cnblogs.com/fujijill/p/14412709.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!