vue生命周期函数

vue生命周期函数(声明周期钩子) click
created、mounted、updated、destroyed、四个before
首先需要了解模板与挂载点:click
创建期间的生命周期函数:
beforecreated:实例刚在内存中被创建出来,还没有初始化好data和methods属性
created:data、methods已经创建,尚未开始编译模板
beforeMounted:完成模板编译,但还没有挂载到页面
mounted:将编译好的模板挂载到页面指定容器中显示
运行期间生命周期函数:
beforeUpdated:状态更新之前执行此函数,data中状态是最新的,界面上数据还是旧的,此时并未开始绘制DOM节点
updated:实例更新完毕后调用此函数,data与也界面均已完成更新,界面已被重新渲染
销毁期间生命周期函数:
beforeDestory:实例销毁前调用,此时实例仍完全可用
destoryed:Vue实例销毁后调用,调用后Vue实例指示的所有东西都会解绑,所偶的事件监听器都会被移除,所有子实例也会被销毁。

beforeCreate(){
            //这是我们遇到的第一个周期函数,表示实例完全被创建出来之前,会执行它
            // console.log(this.msg);
             //this.show()
            //注意在beforeCreate 生命周期函数执行的时候,data 和 methods中的数据都还没有初始化
 
},
created(){
    //这是遇到的第二个周期函数
    // console.log(this.msg)
    // this.show();
    //在created中data和methods已经被初始化好了
    //如果要调用methods中的方法,或者操作data中的数据,最早,只能在created中操作
},
beforeMount(){  //这是遇到的第3个生命周期函数,表示模板已经在内存中编辑完成,但是尚未把模板渲染到页面中
    // console.log(document.getElementById('h3').innerText);
    //在beforeMount执行的时候,页面中的元素,还没有被真正替换过来,只是之前的一些模板字符串
},
mounted(){
   //这是遇到的第4个生命周期函数,表示内存中的模板,已经真实的挂载到页面中,用户已经可以看到渲染好的页面了
   //  console.log(document.getElementById('h3').innerText);
    //注意:mounted 是实例创建期间最后一个生命周期函数,当执行完mounted就表示实例已经被完全创建好了,
    //此时如果没有其它操作的话,这个实例,就静静的躺在我们的内存中,一动不动
},


//接下来的是运行中的两个事件
beforeUpdate(){ //这时候,表示我们的界面还没有被更新【数据被更新了吗? 数据肯定别更新了】

    // console.log('界面上元素的内容:'+ document.getElementById('h3').innerText);
    // console.log('data中的msg数据是:'+ this.msg);
    //得出结论:当执行beforeUpdate 的时候,页面中的显示的数据,还是旧的,此时data数据是最新的,页面尚未和最新的数据保持同步

},

updated(){

    console.log('界面上元素的内容:'+ document.getElementById('h3').innerText);
    console.log('data中的msg数据是:'+ this.msg);
    //updated 时间执行的时候,页面和data数据已经保持同步了,都是最新的

}

附上传说中越学越香的一张图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值