vue 生命周期
.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div class="box">
<div>{{msg}}</div>
<button @click="show">点击</button>
<button @click='destroy'>销毁</button>
</div>
</body>
<script src="vue.js"></script>
<script>
var vm = new Vue({
el:'.box',
data:{
msg:""
},
methods:{
show(){
this.msg = '321';
},
destroy(){
this.$destroy();
}
},
//实例创建前 什么也没有
// vue实例创建前,就会触发
beforeCreate: function(){
console.log('beforeCreate');
console.log(this.msg);
},
//实例创建后 数据data和方法methods就有了
// created在实例创建完成后被立即调用 挂载阶段还没开始 $el 属性目前尚不可用
created: function(){
console.log('created');
console.log(this.msg);
},
//实例挂载之前,雷同实例创建后 有模板,没数据渲染
// beforeMount:当和模板结合,在渲染页面之前的一瞬间,执行beforeMount函数(还没有渲染到页面上————用模板的情况下)
beforeMount: function(){
console.log('beforeMount');
},
//实力挂载后,数据已经渲染到页面
mounted: function(){
let _this = this;
setTimeout(function(){
_this.msg = 456;
},2000)
},
//数据更新前
beforeUpdate: function(){
console.log('beforeUpdate');
console.log(this.msg);
},
//数据更新后
updated: function(){
console.log('updated');
console.log(this.msg);
},
//实例还没有销毁,在销毁之前
beforeDestroy: function(){
console.log('beforeDestroy');
},
//实例销毁之后
destroyed: function(){
console.log('destroyed');
},
//组件被激活时调用
activated: function(){
console.log("activated")
console.log("keep-alive")
},
//组件被移除时调用
deactivated: function(){
console.log("deactivated")
console.log("keep-alive")
}
})
</script>
</html>