vue钩子函数

生命周期的过程阶段(钩子函数):

  1. beforeCreate:实例、组件通过new Vue()创建出来之后会初始化事件和生命周期,然后就会执行beforeCreate钩子函数,此时,数据还没有挂载,只是一个空壳,无法访问到数据和真实的dom,一般不做操作。
  2. created:挂载数据、绑定时间等等,然后执行created函数,此时可以用到数据,也可以更改数据,更改数据时不会触发updated函数,这是在渲染前倒数第二次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取
  3. beforeMount:然后开始找实例或者组件对应的模板,编译模板为虚拟dom放入到render函数中准备渲染,然后执行beforeMount钩子函数,在该函数中虚拟dom已经创建完成,马上就要渲染。此时也可以更改数据,不会触发updated,这是渲染前最后一次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取
  4. mounted:接下来开始render,渲染出真实dom,然后执行mounted钩子函数,此时,组件已经出现在页面中,数据、真实dom都已经处理好了,事件都已挂载,此时可以操作真实dom等等...
  5. beforeUpdate:当组件或实例的数据更改后,会立即执行beforeUpdate,然后vue的虚拟dom机制会重新构建虚拟dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染,一般不做其他操作
  6. updated:当更新完成后,执行updated,数据已经更改完成,dom也重新render完成,可以操作更新后的虚拟dom
  7. beforeDestory:当经过某种途径调用$destory方法后,立即执行beforeDestory,一般做这些操作,比如:清除计时器、清除非指令绑定的事件等等
  8. destoryed:组件的数据绑定。监听...销毁后只剩下空壳,此时执行destoryed,也可以做一些例如清除计时器、清除非指令绑定的事件等操作。
posted @ 2019-04-23 15:05  郭康勋kawhi  阅读(291)  评论(0编辑  收藏  举报