3-1 vue生命周期及实例的属性和方法-Vue生命周期
目录:
- vue的生命周期
- 生命周期图
- 生命周期钩子函数实例
一、Vue生命周期
vue实例从创建到销毁的过程,称为生命周期,一共有8个阶段(选项 / 生命周期钩子)。
所有的什么周期钩子自动绑定 this 上下文到实例中,因此你可以访问数据,对属性和方法进行运算。这意味着你不能使用箭头函数来定义一个生命周期方法 (例如 created: () => this.fetchTodos())。这是因为箭头函数绑定了父上下文,因此 this 与你期待的 Vue 实例不同,this.fetchTodos 的行为未定义。
二、生命周期图
下图展示了实例的生命周期。你不需要立马弄明白所有的东西,不过随着你的不断学习和使用,它的参考价值会越来越高。中文图片如下:

这边是也可以参考官网的生命周期的图显示:生命周期图示
对生命周期钩子的说明:(以下被称为钩子函数)
beforeCreate:组件实例刚刚创建,初始化事件和生命周期 created(常用!!!):实例已经创建完成,并且进行数据观测和数据配置 beforeMount:模板编译之前,还没挂载 mounted(常用!!!): 模板编译之后,已经挂载,此时才会渲染页面,才能看到页面上数据的显示 beforeUpdate:组件更新之前,意思就是如果发现data中的数据被修改,这个数据修改之前,这个时候用beforeUpdate updated: 组件更新之后,就是说数据修改之后,叫updated beforeDestroy: 组件销毁之前 destoryed: 组件销毁之后(销毁就是占用的内存空间被释放)
三、生命周期钩子函数实例
之前我们说过,在一个vue实例中有很多选项,比如:el、data、methods等,都是vue实例的选项,那么每一个钩子函数,其实都是vue实例的其中的选项。实例如下:
<body>
<div id="box">
{{msg}}
<br>
<!--更新数据-->
<button @click="update">更新数据</button>
<!--销毁vue实例对象-->
<button @click="destroy">销毁vue实例对象</button>
</div>
<script type="text/javascript" src="../vue.js"></script>
<script>
let vm = new Vue({
el: "#box",
data:{
msg: "高哥哥真帅"
},
methods: {
update(){ //只有更新数据的时候才会去执行beforeUpdate(更新数据前),updated(更新数据后)
this.msg = "傻逼鸿好丑";
},
destroy(){ //执行vm.$destroy()销毁vue实例,才会去执行beforeDestroy(销销毁vue实例前),destroyed(销毁vue实例后)
this.$destroy();
}
},
beforeCreate(){
alert("组件实例刚刚创建,初始化事件和生命周期")
},
created(){
alert("实例已经创建完成,并且进行数据观测和数据配置")
},
beforeMount(){
alert("模板编译之前,还没挂载")
},
mounted(){
alert("模板编译之后,已经挂载,此时才会渲染页面,才能看到页面上数据的显示")
},
beforeUpdate(){
alert("组件更新之前")
},
updated(){
alert("组件更新之后")
},
beforeDestroy(){
alert("组件销毁之前")
},
destroyed(){
alert("组件销毁之后")
}
});
</script>
</body>

浙公网安备 33010602011771号