钩子函数:vue定义了8个系统函数:定义页面节点对象从创建初始化,挂载数据,数据变化,到销毁的整个过程。
咱们通常只用created和beforeMount方法,因为
var v1 = new Vue({
el:"#app",
data:{
msg1:"aaa",
msg2:"bbb"
},
methods:{
c1(){
this.msg1 = "yyy";
},
c2(){
this.$destroy(); //销毁当前对象
}
},
beforeCreate(){
console.log("在#app节点创建之前执行,当前对象创建成功,属性和方法初始化未完成,不能使用");
var obj = document.getElementById("app");
console.log(obj.innerHTML);
console.log(this.msg1+"======="+this.msg2);
console.log("====================================================");
},
created(){
console.log("在#app节点创建完毕,属性和方法初始化完成,但是还没有挂载到页面上,通常去服务器获取数据");
var obj = document.getElementById("app");
console.log(obj.innerHTML);
console.log(this.msg1+"======="+this.msg2);
this.msg1 = "ccc",
console.log("====================================================");
},
beforeMount(){
console.log("在数据挂载之前执行,在created方法之后执行,");
var obj = document.getElementById("app");
console.log(obj.innerHTML);
console.log(this.msg1+"======="+this.msg2);
console.log("====================================================");
},
mounted(){
console.log("数据挂载完成之后执行该方法。。。。。。");
var obj = document.getElementById("app");
console.log(obj.innerHTML);
console.log(this.msg1+"======="+this.msg2);
console.log("====================================================");
},
beforeUpdate(){
console.log("修改属性之前,且数据未重载挂载页面之前执行。。。");
var obj = document.getElementById("app");
console.log(obj.innerHTML);
console.log(this.msg1+"======="+this.msg2);
console.log("====================================================");
},
updated(){
console.log("修改属性之后且数据已经重载挂载页面之后执行");
var obj = document.getElementById("app");
console.log(obj.innerHTML);
console.log(this.msg1+"======="+this.msg2);
console.log("====================================================");
},
beforeDestroy(){
console.log("对象销毁之前执行........需要调用$destroy系统函数");
var obj = document.getElementById("app");
console.log(obj.innerHTML);
console.log(this.msg1+"======="+this.msg2);
console.log("====================================================");
},
destroyed(){
console.log("对象销毁之后执行,当前对象v1的属性和方法不可重新挂载到页面");
var obj = document.getElementById("app");
console.log(obj.innerHTML);
console.log(this.msg1+"======="+this.msg2);
this.msg1 = "哈哈";
console.log(this.msg1+"======="+this.msg2);
console.log("====================================================");
}
});