何为生命周期钩子
官网解释:每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。
实际上,之所以叫生命周期钩子,就是在vue实例创建和执行的过程中,在每一步设置一个钩子函数,钩子函数可以理解成一个提前执行的回调函数。(ajax中 readystate也是异曲同工)
Vue的生命周期钩子
首先要注意vue的生命周期钩子是在new Vue()时,以传入对象的属性的形式进行申明。申明格式为:
生命周期钩子名:function(){}
另外需要注意的是:不能使用es6中的箭头函数申明,因为需要使用到this。
vue的生命周期钩子包括:
- beforeCreate:在实例化之后(data observer),数据观测和事件配置之前(watcher event)
- created:实例创建完成后立即调用,此时已经完成数据观测,属性和方法的运算以及watch event事件回调,但是挂载还没开始,也就是说 $el不可见。
- beforeMount:挂在开始之前调用
- mounted:挂载成功之后调用,也就是被新创建的$el替换时。