vue生命周期

生命周期

1.vue有哪些生命周期函数

有8个

 beforeCreate

 created

 beforeMount

 mounted 

 beforeUpdate

 updated

 beforeDestroy

 destroyed

2.一旦进入组件或页面会执行哪些生命周期、顺序

 beforeCreate 

 created

 beforeMount

 mounted

3.添加了keep-alive后,会增加哪些生命周期

 activated、deactivated

4.在哪个阶段有$el,在哪个阶段有$data

 beforeCreate  都没有

 created  有$data,无$el(即还没有dom节点)

 beforeMount 有$data,无$el

 mounted 都有(所以到了mounted中才有dom节点)

 (补充:$el表示组件的根节点,$data表示下面代码中的data

<div id=‘app’>

  new Vue({

    el:’#app’,

    data(){

      return {

        str:’123’

      }

    }

//这里的生命周期函数的写法先后顺序不会影响生命周期函数的执行顺序

    beforeCreate(){

     console.log(‘beforeCreate’,this.$el,this.$data);

   }

 created(){

   console.log(‘created’);

}

 beforeMount(){

   console.log(‘beforeMount’);

}

 mounted(){

  console.log(‘mounted’);

}

  })

  class Vue{

     constructor(option) {

          //这里的生命周期函数的顺序决定了函数的执行顺序

         option.beforeCreate.bind(this)();//改变this的指向,最后的()表示执行

          this.$data = options.data;// 实现在created之后有data

         option.created.bind(this)();

         option.beforeMount.bind(this)();

          this.$el = document.querySelector(options.el);//实现在beforeMount之后有el

     }

  }

5.如果加了keep-alive,第一次进入组件会执行哪些生命周期函数

 beforeCreate 

 created

 beforeMount

 mounted

 activated

(补充:keep-alive用于缓存组件)

6.如果加了keep-alive,第2次 或 第n次 进入组件会执行哪些生命周期函数

 activated

 (补充:因为这时候页面已经被缓存了)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值