1 beforeCreate 和 created
beforeCreate:表示实例完全被创建出来之前,会执行它,注意:在 beforeCreate
生命周期函数执行的时候, data
和 methods
中的 数据都还没有初始化 。
created: 在 created
中,data
和 methods
都已经被初始化好了!如果要调用 methods
中的方法,或者操作 data
中的数据,最早,只能在 created
中操作。
2 beforeMount 和 mounted
beforeMount:模板已经在内存中编辑完成了,但是尚未把模板渲染到 页面中,在 beforeMount
执行的时候,页面中的元素,还没有被真正替换过来,只是之前写的一些模板字符串。
mounted:表示,内存中的模板,已经真实的挂载到了页面中,用户已经可以看到渲染好的页面了,注意:mounted
是 实例创建期间的最后一个
生命周期函数,当执行完 mounted
就表示,实例已经被完全创建好了。
3.updated 和 beforeUpdate
updated:当数据被更新时执行
beforeUpdate::当数据在模板中更新后执行
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>hello world</title>
<script src="https://unpkg.com/vue@next"></script>
</head>
<body>
<div id="root"></div>
</body>
<script>
const app = Vue.createApp({
data:function(){
return({
})
},
//在实例生成之前会自动执行的函数
beforeCreate(){
console.log('before create')
},
//在生成实例之后会自动执行的函数
created(){
console.log('created')
},
//在组件内容被渲染到页面之前执行的函数
beforeMount(){
console.log(document.getElementById('root').innerHTML,'beforeMount');
},
//在组件内容被渲染到页面之后自动执行的函数
mounted(){
console.log(document.getElementById('root').innerHTML,'mount');
},
// 当数据发生变化后立刻执行的函数
beforeUpdated(){
},
//当数据发生变化,页面重新渲染后,会自动执行的函数
updated(){
},
template: `<p>hello</p>`
})
app.mount("#root")
</script>
</html>