Vue 实例有一个完整的生命周期,先上一段 Vue.js 官网对 Vue 实例生命周期的解释:
每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。
同时,在这个过程中,会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。

上面这张图是 Vue.js 官网 Vue 实例章节 中给出的 Vue 实例生命周期图示,下面我来逐项解释图中的每一步当中生命周期钩子函数的用法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| var test = new Vue({ el: '#app', data: { message: 'Hello' },
beforeCreate: function() { console.log(this.message + ' beforeCreate') },
created: function() { console.log(this.message + ' created') },
beforeMount: function() { console.log(this.message + ' beforeMount') }, mounted: function() { console.log(this.message + ' mounted') }, beforeDestroy: function() { console.log(this.message + ' beforeDestroy') }, destroyed: function() { console.log(this.message + ' destroyed') },
beforeUpdate: function() { console.log(this.message + ' beforeUpdate') }, updated: function() { console.log(this.message + ' updated') }
})
|
生命周期函数就是 Vue 实例在某一个时间点会自动执行的函数,我们可以通过在 Vue 实例运行过程中的不同时间点来嵌入不同的函数,以此来实现相应的功能。