这里写目录标题
1、什么是生命周期?
所谓生命周期:就是指一个Vue示例从创建、运行一直到销毁的过程,(相当于人的一生,从出生到死亡)
2、什么是生命周期函数(又名生命周期钩子,又名生命周期事件)?
在一个Vue实例的生命周期内,总会发生各种各样的事件(函数),这些事件(函数)称为生命周期函数(又名生命周期钩子,生命周期事件),什么事件、函数、钩子,其实都是一回事,就是一个函数,(相当于你叫张三,家里叫你小名三儿,同学叫你外号三胖子,老师叫你大名张三,无论怎么称呼,其实都是你)
3、生命周期图解
4、beforeCreate和created钩子示例
代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
{{msg}}
</div>
<script type="text/javascript">
var vm=new Vue({
el:'#app',
data:{
msg:'我是data中的数据'
},
methods:{
show:function(){
console.log('我是methods中的方法');
}
},
beforeCreate:function(){
console.log(this.msg);
this.show();
},
created:function(){
console.log(this.msg);
this.show();
}
});
</script>
</body>
</html>
执行效果
5、beforeMount和mounted钩子示例
代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
{{msg}}
</div>
<script type="text/javascript">
var vm=new Vue({
el:'#app',
data:{
msg:'我是data中的数据'
},
methods:{
show:function(){
console.log('我是methods中的方法');
}
},
beforeMount:function(){
console.log(document.getElementById('app').innerText);
},
mounted:function(){
console.log(document.getElementById('app').innerText);
}
});
</script>
</body>
</html>
执行效果
6、beforeUpdate和updated钩子示例
代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
{{msg}}
<button type="button" @click="changeData">更新dom中的数据</button>
</div>
<script type="text/javascript">
var vm=new Vue({
el:'#app',
data:{
msg:'我是data中的数据'
},
methods:{
show:function(){
console.log('我是methods中的方法');
},
changeData:function(){
this.msg='我已经被改变了';
}
},
beforeUpdate:function(){
console.log(this.msg);
console.log(document.getElementById('app').innerHTML);
},
updated:function(){
console.log(this.msg);
console.log(document.getElementById('app').innerHTML);
}
});
</script>
</body>
</html>
执行效果
点击按钮前:
点击按钮后: