Vue.js 是一个流行的前端框架,它采用了组件化的思想,使得前端开发更加简单、高效。
在 Vue.js 中,每个组件都有自己的生命周期,从而使得我们可以在不同的阶段执行不同的操作,如初始化数据、更新视图等等。本文将对 Vue.js 生命周期进行详细的介绍,并提供一些常见的应用场景和示例代码。
Vue.js 生命周期图解
Vue.js 的生命周期可以分为八个阶段,如下图所示:
下面我们来逐一介绍每个阶段的作用。
1. beforeCreate
在实例被创建之前,Vue.js 会先执行 beforeCreate 钩子函数。在这个阶段,我们可以进行一些初始化操作,如创建数据、组件等等。
2. created
在实例被创建之后,Vue.js 会执行 created 钩子函数。在这个阶段,我们可以访问到实例的数据和方法,但是视图还没有被渲染出来。
3. beforeMount
在实例被挂载到 DOM 之前,Vue.js 会执行 beforeMount 钩子函数。在这个阶段,我们可以访问到实例的数据和方法,并进行一些操作,如修改数据、调用方法等等。
4. mounted
在实例被挂载到 DOM 之后,Vue.js 会执行 mounted 钩子函数。在这个阶段,我们可以访问到实例的数据和方法,并且视图已经被渲染出来了。
5. beforeUpdate
在实例的数据发生变化之前,Vue.js 会执行 beforeUpdate 钩子函数。在这个阶段,我们可以访问到实例的数据和方法,并进行一些操作,如获取数据、修改数据等等。
6. updated
在实例的数据发生变化之后,Vue.js 会执行 updated 钩子函数。在这个阶段,我们可以访问到实例的数据和方法,并且视图已经被更新了。
7. beforeDestroy
在实例被销毁之前,Vue.js 会执行 beforeDestroy 钩子函数。在这个阶段,我们可以进行一些清理工作,如取消定时器、解绑事件等等。
8. destroyed
在实例被销毁之后,Vue.js 会执行 destroyed 钩子函数。在这个阶段,实例的数据和方法已经被销毁了。
Vue.js 生命周期应用场景
下面我们来介绍一些常见的 Vue.js 生命周期应用场景。
1. created
在 created 钩子函数中,我们可以进行一些初始化操作,如创建数据、组件等等。例如:
export default { created() { this.data = { name: 'John', age: 18, }; }, };
2. mounted
在 mounted 钩子函数中,我们可以访问到实例的数据和方法,并且视图已经被渲染出来了。例如:
export default { mounted() { console.log(this.$el); }, };
3. updated
在 updated 钩子函数中,我们可以访问到实例的数据和方法,并且视图已经被更新了。例如:
// javascriptcn.com 代码示例 export default { data() { return { count: 0, }; }, methods: { increase() { this.count++; }, }, updated() { console.log(`count: ${this.count}`); }, };
4. destroyed
在 destroyed 钩子函数中,我们可以进行一些清理工作,如取消定时器、解绑事件等等。例如:
// javascriptcn.com 代码示例 export default { data() { return { timer: null, }; }, mounted() { this.timer = setInterval(() => { console.log('Hello World!'); }, 1000); }, destroyed() { clearInterval(this.timer); }, };
总结
本文对 Vue.js 生命周期进行了详细的介绍,并提供了一些常见的应用场景和示例代码。希望能够帮助大家更好地理解和使用 Vue.js。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/655022eb7d4982a6eb90896a