Vue3-知识结构-生命周期

本文详细介绍了Vue3中的组件生命周期,包括选项式API的11个普通钩子、2个keep-alive钩子和1个SSR钩子,以及组合式API的9个普通钩子、2个keep-alive钩子和1个SSR钩子。重点讲解了每个钩子函数的作用和使用场景,并提及了keep-alive组件在缓存和激活停用时的生命周期钩子。同时,文章提到了如何配置keep-alive以控制组件的缓存行为。
摘要由CSDN通过智能技术生成

Vue3知识结构之生命周期



一、选项式API生命周期及其钩子函数

11个(普通钩子)+2个(keep-alive 专用钩子)+1(ssr专用钩子)=13+1个

export default {
    name: 'WithData',
    components: { Myvue },
    data() {
        return {},
    methods: {},
    beforeCreate() {
    //创建之前 data、methods、以及视图页面都未被创建},
    created() {
        // 已创建 data、methods、可以被打印  页面无法访问 },
    beforeMount() {
        // 已创建 data methods 可以被打印  页面无法访问},
    mounted() {
        //已挂载 可以访问页面},
    beforeUpdate() {
        //内存中的数据被修改,但页面还未更新,还是访问的旧DOM},
    updated() {
        //访问的数据修改后的新Dom},
    // beforeUnmount() {
    // 组件 的卸载前调用},
    // unmounted() { }
}

一、组合式API生命周期及其钩子函数

9个(普通钩子)+2个(keep-alive 专用钩子)+1(ssr专用钩子)=11+1个

onBeforeMount(()=>{})//还无法访问DOM
onMounted(()=>{})//正常访问页面DOM
onBeforeUpdate(()=>{})//数据更新时调用。内存中的数据被修改,但页面还未更新,还是访问的旧DOM
onUpdated(()=>{})//更新数据后调用访问新DOM
onBeforeUnmount(()=>{}) //组件卸载前调用
onUnmounted(()=>{}) //卸载组件实例后调用

其它场景触发

onErrorCaptured ::事件处理程序或生命周期钩子抛出错误时调用
onRenderTracked: 状态跟踪 跟踪响应式变量和方法,一旦页面更新,就会跟踪他们并返回一个event对象
onRenderTriggered: 状态触发 开发模式下可用,不会跟踪所有响应式变量和方法,定点追踪发生改变的数据,返回一个event对象
onActivated : 与keep-alive一起使用 ,当keep-alive包裹的组件激活时调用
onDeactivated :与keep-alive一起使用 ,当keep-alive包裹的组件停用时调用
onServerPrefetch : ssr专用

三、keep-alive

是vue中的一个内置组件,主要是将组建缓存到内存中,避免切换路由的时候页面刷新从而倒是dom的重新渲染

 onActivated 和 onDeactived
<router-view v-slot="{Component}">
        <keep-alive>
            <component :is="Component"></component>
        </keep-alive>
</router-view> 

//嵌套路由组件    
import { onActivated, onDeactivated } from "vue";
onActivated(()=>{})
onDeactivated(()=>{})

include 包含缓存的组件
exclude 缓存除了此组件的其它组件

 <keep-alive include='xx'></keep-alive> //xx 的name属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值