10-03-vue组件的生命周期

生命周期函数(钩子函数)

vue实例(组件)的生命周期: 从生到死的过程
vue实例在从创建到销毁过程,默认会调用一些函数,这个函数叫生命周期函数,也叫钩子函数
vue链接: vue链接
在这里插入图片描述
有template,template做模板,没有就有el 定义的做模板

  • beforeCreate: 什么也做不了,data和methods以及页面中的DOM结构都没有初始化。
  • created: 可以使用data中的数据,调用methods中的方法,但是DOM元素并没有渲染出来。你想在created中,获取DOM元素,根本得不到。一般情况下,我们会在created这个勾子中,发起ajax请求
  • beforeMound: 在挂载(就是把模板渲染成DOM元素)之前, 也没有什么用,可以获取data中的数据,也可以调用methods中的方法,不能获取dom。
  • mounted: DOM元素已经被渲染出来的,就可以获取DOM元素了,当然也可以获取data中的数据,调用methods中方法,我喜欢在mounted钩子中,发起ajax请求
  • beforeUpdate: 当data中的数据发生改变,数据改变,视图要重新刷新,就会调用此勾子函数,在这个函数中,拿的数据是新数据,但是,页面中的还是老数据
  • updated: 数据改变,虚拟DOM重新渲染,并且打补丁,此时页面中的老数据,会被替换成真实的数据
    你能在updated这个勾子函数中,更新数据吗?
    答:不能在updated这个勾子中更新数据,会导致死循环。
  • beforeDestory: vm实例销毁之前调用
  • destroyed: vm实例销毁之后调用 没什么用
<div id="app">
    <h1>{{msg}}</h1>
</div>
<script>
    let vm = new Vue({
        el:"#app",
        beforeCreate(){  // 钩子函数    拿不到data中的数据  调用不了methods中的方法
            console.log("beforeCreate")
        },
        created(){
            console.log("created")
            // console.log(this.msg)
            // this.f();
            // axios.get();
            // 在这里面,不能获取DOM元素
        },
        beforeMount(){   // 没什么用
            console.log("beforeMount")
        },
        mounted(){  // dom元素已被渲染出来了
            console.log("mounted")
        },
        beforeUpdate(){
            console.log("beforeUpdate",this.msg)
        },
        data:{ msg:"hello vue" },
        methods:{ f(){ console.log("f....") } }
    })
</script>

总结:上面的写的钩子函数,是vue框架会在合适的时机,自动地帮我们调用。
我们只需要在合适的钩子,写合适功能了。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值