路虎哥哥

导航

vue3生命周期

与 2.x 版本生命周期相对应的组合式 API
 
beforeCreate    ->    使用 setup()
created             ->    使用 setup()
beforeMount    ->   onBeforeMount
mounted           ->   onMounted
beforeUpdate   ->   onBeforeUpdate
updated            ->   onUpdated
beforeDestroy  ->   onBeforeUnmount
destroyed         ->   onUnmounted
errorCaptured  ->   onErrorCaptured
 
 
 
Vue2生命周期
每个组件都是独立的,都有属于它自己的生命周期,创建、挂载、更新、销毁就是生命周期
 
生命周期有8个分别是:
 
若组件被<keep-alive>包含,则多出下面两个钩子函数。
 
 
Vue2
 
activated: 被包含中的组件,会多出来两个生命周期钩子函数。被激活时执行
 
deactivated: 比如从A组件,切换到B组件,A组件消失时执行。
 
 
Vue3
 
onActivated(): 被包含中的组件,会多出来两个生命周期钩子函数。被激活时执行
 
onDeactivated(): 比如从A组件,切换到B组件,A组件消失时执行。
 
beforeCreate:创建前 ---- created:创建后
 
beforeCreate(创建前): 在实例初始化之后,这个时候this还不能使用,data中的数据、methods的方法、以及watcher中的事件都不能获得
 
created(创建后): 实例已经创建完成之后被调用,这个时候可以操作vue中的数据和方法,但是不能对dom节点进行操作
 
beforeMount:挂载前 — mounted:挂载后
 
beforeMount(挂载前): 在挂载开始之前被调用,$el属性已经存在,只是数据未挂载到模板中。
 
mounted(挂载后): 挂载完毕,这是dom节点被渲染到文档中,dom操作在此时可以正常进行。
 
beforeUpdate:更新前 — updated:更新后
 
beforeUpdate(更新前): beforUpdate是指view层数据变化前,不是data中的数据改变前触发,因为Vue是数据驱动的。
 
updated(更新后): view层的数据更新后,data中的数据同beforeUpdate,都是更新完以后的。
 
beforeDestrioy:销毁前 — destroyed:销毁后
 
beforeDestrioy(销毁前): 实例销毁之前调用,在这一步,实例依然完全可用。
 
destroyed(销毁后): 执行destroyed方法后,对data的改变不会再触发周期函数,此时的vue实例已经解除了事件监听以及dom的绑定,但是dom结构依然存在。
 
父子组件初始化: 父beforeCreate—>子beforeCreated—>子created—>父created
 
父子组件更新:父beforeUpdate—>子beforeUpdate—>子updated—>父updated
 
 
Vue3生命周期
 
 
setup() : 开始创建组件之前,在beforeCreate和created之前执行,创建的是data和method。
 
onBeforeMount() : 组件挂载到节点上之前执行的函数。
 
onMounted(): 组件挂载完成之后执行的函数。
 
onBeforeUpdate(): 组件更新之前执行的函数。
 
onUpdated():组件更新完成之后执行的函数。
 
omBeforeUnmount(): 组件卸载之前执行的函数。
 
onUnmounted(): 组件卸载完成之后执行的函数。
 
 

posted on 2022-07-26 22:20  路虎哥哥  阅读(6969)  评论(0编辑  收藏  举报