vue的生命周期
1.beforeCreate和created
//组件创建之前 : 在该方法中因为组件还没有创建完毕,所以无法获取组件中的methods和data中的数据
beforeCreate:function(){
console.log("beforeCreate",this.msg,this.add)
// 直接通过dom操作获取最原始在页面信息
// console.log(document.getElementById("box"))
// this.$refs 要等到内存中的虚拟dom挂载到真实dom才能使用
// console.log(this.$refs.box,"xxx") undefined
},
//组件实例已经创建完毕 :在该方法中可以获取到组件的methods和data中的数据
created:function(){
console.log("created",this.msg,this.add)
console.log(this.$el,"created")
2.Mount和Mounted
1 | //在内存中编译页面模板(虚拟dom this.$el),但是内存的模板还没有被渲染到真实dom |
3.beforeUpdate和updated
1 | //当数据源变了,在更新页面之前会先执行beforeUpdate,此时页面还没有更新 |
4.beforeDestory和Destoryed
1 | //当vue实例销毁之前执行,我们可以在这个函数里面做一些资源释放工作 |
组件嵌套子组件的生命周期执行顺序
先执行父级的beforeCreate、created 和 beforeMount,
然后再去执行子组件的beforeCreate、created 和 beforeMount,
如果子组件下面没有子组件了,就执行 mounted,然后再返回父级执行 mounted。