下面是关于Vue中的生命周期介绍的完整攻略及示例:
什么是Vue的生命周期
Vue生命周期是指Vue组件从创建到销毁的整个过程中,它所要经历的各个阶段。Vue生命周期分为8个不同的阶段,每个阶段都有相应的钩子函数,可以在相应的时候进行自定义操作。
Vue生命周期的8个钩子函数
下面是Vue生命周期的8个钩子函数,从创建到销毁依次为:
- beforeCreate:实例被创建之初,在数据观测和初始化事件之前被调用。
- created:实例已经创建完成,在这一步,实例已完成数据观测,也就是可以进行数据请求操作了。但是组件dom树还没有生成,无法进行dom操作和dom相关的操作。
- beforeMount:在挂载之前被调用,此时组件的模板已经被编译成虚拟DOM。
- mounted:实例挂载完成后被调用,此时组件已经被挂载到页面上,可以进行dom操作了。
- beforeUpdate:在更新之前被调用,组件的状态已经更新,但是dom还没有更新,可以在这里进行dom操作和数据的二次处理。
- updated:组件更新完成后被调用,此时dom已经更新完成,可以进行dom操作的检查等相关操作。
- beforeDestroy:组件即将销毁,在这个阶段,我们可以进行一些清理工作或者手动解除一些自定义事件等操作。
- destroyed:组件销毁完成后被调用,此时组件已经被销毁,可以进行垃圾回收等相关操作。
Vue生命周期的示例
下面是其中两个生命周期的使用示例:
- beforeCreate钩子函数示例
<template>
<div>
<h1>{{title}}</h1>
</div>
</template>
<script>
export default {
data() {
return {
title: 'Vue生命周期钩子函数'
}
},
beforeCreate() {
console.log('beforeCreate钩子函数被调用')
console.log('此时data数据还未创建')
}
}
</script>
在该示例中,我们在beforeCreate钩子函数中打印了一些信息,这也是常见的调试和研究Vue生命周期的方法之一。由于在beforeCreate钩子函数被调用时,data数据还未创建,所以在控制台中我们并看不到title的值,但是我们可以在此处打印一些其他的信息,以便我们进行一些相关操作。
- mounted钩子函数示例
<template>
<div>
<h1 ref="title">{{title}}</h1>
</div>
</template>
<script>
export default {
data() {
return {
title: 'Vue生命周期钩子函数'
}
},
mounted() {
console.log('mounted钩子函数被调用')
console.log('此时页面的dom渲染完成')
console.log('此时组件自身的dom也已经挂载')
console.log('this.$refs.title可以获取到组件dom节点')
}
}
</script>
在该示例中,我们在mounted钩子函数中打印了一些信息,可以看到这些信息均是和页面dom相关的,因为在mounted钩子函数被调用时,组件的dom已经被挂载到页面上,可以进行dom相关操作,如获取dom节点等,此时组件被完全渲染了出来。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue中的生命周期介绍 - Python技术站