Vue的生命周期

Vue生命周期

Vue的生命周期指的是一个vue实例从创建出来,到最后被销毁的全过程。
钩子函数
提到vue的生命周期就绕不开它啦
vue在生命周期的不同阶段,提供了对应的一些生命周期函数(即钩子函数),只要vue达到了相应的阶段,就会自动的调用响应的钩子函数。vue官网上介绍的钩子函数有11个,在这里,我只说一下常用的八大钩子函数。

生命周期图

八大生命周期函数(beforeXXX 和 XXXed)

  • beforeCreate 数据注入vm实例之前, 此时vm还没有数据
  • created 数据注入vm实例之后, 此时vm已经有数据了
  • beforeMount 创建出来的结构, 替换视图之前
  • mounted 创建出来的结构, 替换视图之后
  • beforeUpdate 数据变化了, 更新视图之前
  • updated 数据变化了, 更新视图之后
  • beforeDestroy 实例销毁, 资源释放之前
  • destroyed 实例销毁, 资源释放之后

敲黑板,注意点啊兄弟们:

  1. 八大钩子函数, 钩子函数中的 this, 指向当前vm实例
  2. beforeCreate中数据还没准备就绪, 太早了, 不适合操作数据
const vm = new Vue({
        el: '#app',
        data: {
          msg: 'hello vue',
          list: []
        },
        beforeCreate () {
          console.log('beforeCreate  数据注入vm实例之前, 此时vm还没有数据')
          console.log(this.msg)
        },
        created () {
          console.log('created 数据注入vm实例之后, 此时vm已经有数据了')
          console.log(this.msg)
        },
        beforeMount () {
          console.log('beforeMount')
          console.log(document.querySelector('#app').innerHTML)
        },
        mounted () {
          console.log('mounted')
          console.log(document.querySelector('#app').innerHTML)
        },
        beforeUpdate () {
          console.log('beforeUpdate')
          console.log(document.querySelector('#app').innerHTML)
        },
        updated () {
          console.log('updated')
          console.log(document.querySelector('#app').innerHTML)
        },
        beforeDestroy () {
          console.log('beforeDestroy')
        },
        destroyed () {
          console.log('destroyed')
        }
      })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值