组件挂载、组件更新和组件销毁时相应方法的执行时机。
每个Vue实例在被创建之前都要经过一系列的初始化过程,这个过程就是vue的生命周期。
可以看到在vue整个的生命周期中会有很多钩子函数提供给我们在vue生命周期不同的时刻进行操作, 那么先列出所有的钩子函数,然后我们再一一详解:
beforeCreate -> use setup()
created -> use setup()
beforeMount -> onBeforeMount
mounted -> onMounted
beforeUpdate -> onBeforeUpdate
updated -> onUpdated
beforeDestroy -> onBeforeUnmount
destroyed -> onUnmounted
errorCaptured -> onErrorCaptured
创建文件Life.vue,代码如下:
<!DOCTYPE html>
<html xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>生命周期</title>
</head>
<body>
<div id="app">
<h2>{{msg}}</h2>
<button v-on:click="setMsg">改变msg</button>
</div>
<script src="js/vue.js"></script>
<script>
let vm = new Vue({
el: "#app",
data: {
msg: "生命周期"
},
methods: {
setMsg: function () {
this.msg = '改变后的数据';
}
},
beforeCreate() {
console.log("实例创建之前");
},
created() {
console.log("实例创建完成");
},
beforeMount() {
console.log("模板编译之前")
},
mounted() {
console.log("模板编译完成")
},
beforeUpdate() {
console.log("数据更新之前");
},
updated() {
console.log("数据更新完毕");
},
beforeDestroy() {
console.log("实例销毁之前");
},
destroyed() {
console.log("实例销毁完成");
}
});
</script>
</body>
</html>
运行后打开console可以看到打印出来内容如下:
点击按钮之前
点击按钮之后