vue中如何在父组件监听子组件的生命周期

一、vue2方式

方法一:大家都知道子组件mounted后父组件的mounted才会执行,可以利用这一点

方法二:通过vue文档并未提及的方式@hook的方式

html 复制代码
<template>
  <div>
    <componentDemo  @hook:mounted="handleMounted" @hook:unmounted = "handleUnMounted"></componentDemo >
  </div>
</template>
 
<script setup>
import { ref } from "vue";
import componentDemo from './components/componentDemo .vue'

function handleUnMounted(){
  console.log('子节点卸载完成');
}
function handleMounted(){
  console.log('子节点挂载完成');
}

</script>
 
<style scoped></style>

二、vue3方式

方法一:大家都知道子组件mounted后父组件的mounted才会执行,可以利用这一点

方法二:通过vue文档并未提及的方式@vue的方式

html 复制代码
<template>
  <div>
    <componentDemo  @vue:mounted="handleMounted" @vue:unmounted = "handleUnMounted"></componentDemo >
  </div>
</template>
 
<script setup>
import { ref } from "vue";
import componentDemo from './components/componentDemo .vue'

function handleUnMounted(){
  console.log('子节点卸载完成');
}
function handleMounted(){
  console.log('子节点挂载完成');
}

</script>
 
<style scoped></style>

By the way

以上@hook和@vue这两种方式为源码里的实现,并且这种方法不仅可以监听自定义组件(子组件)的生命周期,也可以监听虚拟节点的生命周期,比如监听div等等。

相关推荐
小月土星1 小时前
React Router 前端路由深度解析:从传统后端路由到现代 SPA 的完整演进
前端
程序员黑豆1 小时前
鸿蒙开发 Navigation 路由教程:从入门到实战
前端·harmonyos
烬羽3 小时前
React Router v7 完全指南:一个 Demo 吃透前端路由
javascript·react.js·前端框架
烬羽3 小时前
从"整个页面刷新"到"丝滑切换":手写一个 HashRouter 彻底搞懂前端路由
javascript·前端框架·全栈
用户938515635073 小时前
从零理解 React Router v6:每一个 API 都是怎么工作的
前端·javascript·全栈
用户059540174465 小时前
Redis缓存回滚踩坑实录:一个配置失误,让我在凌晨3点丢了3000条数据
前端·css
kyriewen6 小时前
别再这样写条件渲染了——你的React组件里藏着这5种定时炸弹
前端·javascript·react.js
IT_陈寒6 小时前
Redis缓存击穿把我坑惨了,原来这样设过期时间才靠谱
前端·人工智能·后端
用户938515635077 小时前
从"坐电梯"到"前端路由"——深入理解 Hash 路由原理
前端·typescript·全栈
梦想CAD控件7 小时前
网页端CAD的图形选择、编辑与夹点操作教程
前端·javascript·node.js