<!-- vue 实例从被创建,运行,到销毁期间,会执行各种各样的事件函数,这些事件统称为生命周期 -->
<body>
<div id="app">
</div>
</body>
<script>
let vm = new Vue({
el:'#app',
data:{
vmsg:'vue text'
},
beforeCreate() {//在发起/new 一个 vue实例时 ,会执行一个生命周期函数 beforeCreate(),表示vue实例被完全创建出来之前,会执行这个生命周期函数
//这个函数里面获取不到data,和methods里面的任何数据,因为此时,vue 实例里的data数据,methods里面的函数都还没被初始化,
},
created () {
//表示 vue实例数据初始化完毕,此时可以调用vue实例里的数据和方法
},
beforeMount(){
//这是遇到的
第三个
生命周期函数,表示 模板已经在内存中编辑完成了,但是尚未把模板渲染到 页面中,在 beforeMount
执行的时候,页面中的元素,还没有被真正替换过来,只是之前写的一些模板字符串,获取元素的innerHTML时,如果是插值表达式,那么得到的就是插值表达式解析之前的模板字符{{ var_name }},最终结果并没有渲染到页面 },
mounted () {
// 将=编译好的最终的html渲染到html页面中去 到此函数位置,前面的都是创建过程中的钩子【生命周期】函数,直行到这标志着vue实例的创建阶段结束!
},
beforeUpdated(){
//数据被更新时触发,但是页面界面的数据还未改变,只是浏览器内存中的数据改变了,获得页面Dom节点的innerHTML,得到的时改变之前的数据
}, // 两个运行时的两个钩子函数
Updated () {
//同步浏览器内存中数据到页面界面中去【通过浏览器 在内存中虚拟出一份跟页面同样的虚拟dom树并更新数据,再将内存的虚拟dom树同步更新到页面】
},
beforeDestroy(){//执行了就表示vue进入销毁阶段
//此时vue实例还未被真的销毁,vue上所有的数据都处于可用状态
},//vue 实例被销毁时执行的钩子函数【//例如页面关闭时执行xxx】
destoryed(){
//真正销毁vue实例,所有数据都不可用
}
})
</script>
其中,同一个vue实例,创建和销毁只会执行一次,运行中的updated和beforeUpdated 执行0次【数据没有更新过】和多次【数据更新几次就执行几次】