VUE生命周期中的钩子函数

1、vue的生命周期图
在这里插入图片描述

beforeCreate

beforeCreate() {
// 在组件还没有创建好时,是不能访问组件的任何方法和属性的
console.log(‘beforeCreate 组件开始创建前’)
},

created

created() {
// 组件创建好之后可以组件实例的变量和方法
// 组件创建好之后不能访问dom
// $.post(‘user’,function(res){
// this.username= res.data
// })
//可以在此钩子函数请求数据
console.log(‘created 组件创建好了’)
},

beforeMount

beforeMount() {
// 挂载组件
// 组件将要被挂载了、
// 可以访问到要挂载的目标
// 不能访问到组件的dom
// 这里可以访问到dom 但不能访问到组件的dom只能访问到要挂载的目标dom
console.log(this.$el)
console.log(‘beforeMount 组件开始挂载’)
},

mounted

mounted() {
// 组件挂载完成
// 只有当组件挂载完成之后才能访问到组件的dom
console.log(this.$el)
console.log(‘mounted 组件挂载完成’)
// 必须通过mounted钩子之后去获取到组件的dom元素
},

beforeUpdate

beforeUpdate() {
// 只有更新和模板发生关联的数据才会触发这个钩子
// 和模板绑定的数据更新之前
console.log(‘beforeUpdate 和模板绑定的数据更新之前’)
},

updated

updated() {
// 只有更新和模板发生关联的数据才会触发这个钩子
// 和模板绑定的数据更新完成之后
console.log(‘updated 和模板绑定的数据更新完成之后’)
},

beforeDestroy

beforeDestroy() {
// 一般像页面组件 页面离开之前 保存数据 可以通过这个钩子来完成
// 当组件销毁之前触发
console.log(‘beforeDestroy 当组件销毁之前触发’)
console.log(this.$el)
},

destroyed

destroyed() {
// 当组件销毁之后触发
console.log(‘destroyed 当组件销毁之后触发’)
//等待系统自动回收对象
//销毁之后组件的对象还在,但是跟vue的实例脱离了关系了
}

Vue生命周期是指Vue实例从创建到销毁的整个过程,而钩子函数则是在不同的生命周期阶段执行的函数。Vue提供了一系列的钩子函数,用于在特定的生命周期阶段执行相应的操作。 以下是Vue生命周期钩子函数及其对应的生命周期阶段: 1. beforeCreate:在实例初始化之后,数据观测和事件配置之前被调用。 2. created:在实例创建完成后被立即调用。此时实例已完成以下配置:数据观测、属性和方法的运算、watch/event事件回调。然而,挂载阶段还没开始,$el属性目前不可见。 3. beforeMount:在挂载开始之前被调用。相关的render函数首次被调用。 4. mounted:el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子函数。此时,实例已完成以下配置:编译模板、把data里面的数据和模板生成html。注意此时还没有挂载到页面上。 5. beforeUpdate:数据更新时调用,发生在虚拟DOM重新渲染和打补丁之前。可以在该钩子函数对更新之前的状态做一些操作。 6. updated:由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子函数。可以执行依赖于DOM的操作,但是要避免更改数据。 7. beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。 8. destroyed:实例销毁后调用。此时,所有的事件监听器被移除,所有的子实例也被销毁。 下面是一个简单的示例,演示了Vue生命周期钩子函数的使用: ```javascript new Vue({ el: '#app', data: { message: 'Hello Vue!' }, beforeCreate: function() { console.log('beforeCreate'); }, created: function() { console.log('created'); }, beforeMount: function() { console.log('beforeMount'); }, mounted: function() { console.log('mounted'); }, beforeUpdate: function() { console.log('beforeUpdate'); }, updated: function() { conso.log('updated'); }, beforeDestroy: function() { console.log('beforeDestroy'); }, destroyed: function() { console.log('destroyed'); } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值