1.生命周期

生命周期是指:vue实例从创建到销毁这一系列过程。vue官网生命周期如下图所示:

vue的生命周期有多少个

beforeCreate, created,
beforeMount, mounted,
beforeUpdate, updated,
beforeDestroy,destroyed,
有些小伙伴可能会说是这8个,其实不止这8个。
当使用keep-alive时,还有2个钩子函数:
activated(){} 组件进入,组件被激活的时候调用
deactivated(){},组件离开,组件失活的时候调用 errorCaptured是vue2.5.0版本新增的一个钩子函数,
它主要用来捕获一个来自子孙组件的错误,即可以应用在前端监控中。 所以vue一共有11个说明周期钩子函数

如何去监听子组件的生命周期钩子函数

// father.vue
<Child @mounted="doSomething"/> // Child.vue
mounted() {
this.$emit("mounted");
} 在子组件中的生命周期中使用$emit将触发的事件抛出去。
的确这样是可以的。
但是如何这个组件是第三方的。
我们难道也要去修改人家的代码吗?
有没有有其他办法呢

hook钩子函数去监听组件的声明周期

<template>
<div>
<testCom @hook:mounted="doSomething" ></testCom>
</div>
</template>
<script>
import testCom from '@/components/test-com.vue'
export default {
components:{
testCom
},
methods:{
doSomething(){
console.log("子组件的生命周期")
}
}
}
</script> 通过hooks,就可以去监听组件的生命周期了。
同时我们不需要去更改子组件中的代码
是不是更加的方便了呢

需要注意的是:

//  father.vue
<Child @hook:mounted="doSomething" ></Child>
doSomething() {
console.log('父组件监听到 mounted 钩子函数22 ...');
}, // Child.vue
mounted(){
console.log('子组件触发 mounted 钩子函数11 ...');
}, 也就是是说子组件中有mounted生命周期,
我们在父页面中使用了@hook去监听生命周期
它的打印顺序是怎么样的呢?【先子后父】
// 以上输出顺序为:
// 子组件触发 mounted 钩子函数11 ...
// 父组件监听到 mounted 钩子函数22 ...

概述

在 Vue 2 中,我们可以通过事件来监听组件生命周期中的关键阶段。
这些事件名都是以 hook: 前缀开头,
并跟随相应的生命周期钩子的名字。 在 Vue 3 中,
这个前缀已被更改为 vnode-。
额外地,这些事件现在也可用于 HTML 元素,和在组件上的用法一样。

vue3 监听子组件的生命周期

<template>
<div>
<TestA @vnode-mounted="sonMounted"></TestA>
<TestB></TestB>
</div>
</template>
<script setup lang="ts">
import { reactive, ref,markRaw } from "@vue/reactivity"
import { onMounted } from "@vue/runtime-core"
import TestA from "../components/TestA.vue"
import TestB from "../components/TestB.vue"
onMounted(()=>{
console.log('页面中的生命周期');
})
const sonMounted=()=>{
console.log('子组件的生命周期已经渲染染成');
}
</script>

vue2-vue3监听子组件的生命周期的两种方式的更多相关文章

  1. Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)

    Android ScrollView监听滑动到顶部和底部,虽然网上很多资料都有说,但是不全,而且有些细节没说清楚 使用场景: 1. 做一些复杂动画的时候,需要动态判断当前的ScrollView是否滚动 ...

  2. Android中服务的生命周期与两种方式的区别

    服务的生命周期跟Activity的生命周期类似.但是生命周期甚至比你关注服务如何创建和销毁更重要,因为服务能够在用户不知情的情况下在后台运行. 服务的生命周期---从创建到销毁---可以被分为以下两个 ...

  3. vue中父组件如何监听子组件值的变化

    vue中我们会遇到很多父子组件通信的需求, 下面简单列一下,父子组件通信的几种情况 1:父组件向子组件传值:使用prop向子组件传值: 2:子组件实时监听父组件传来的值的变化:使用watch去监听父组 ...

  4. Android(java)学习笔记227:服务(service)之服务的生命周期 与 两种启动服务的区别

    1.之前我们在Android(java)学习笔记171:Service生命周期 (2015-08-18 10:56)说明过,可以回头看看: 2.Service 的两种启动方法和区别: (1)Servi ...

  5. Android(java)学习笔记170:服务(service)之服务的生命周期 与 两种启动服务的区别

    1.之前我们在Android(java)学习笔记171:Service生命周期 (2015-08-18 10:56)说明过,可以回头看看: 2.Service 的两种启动方法和区别: (1)Servi ...

  6. vue2.x 父组件监听子组件事件并传回信息

    利用vm.$emit 1.在父组件中引用子组件 <child @from-child-msg="listenChildMsg"></child > 2.子组 ...

  7. vue watch 可以监听子组件props里面属性的改变

    子组件watch 可以监听其props里面属性的改变 当changeFather导致calm改变时,会执行console.log('props change');

  8. 【转载】java 监听文件或者文件夹变化的几种方式

    1.log4j的实现的文件内容变化监听 package com.jp.filemonitor; import org.apache.log4j.helpers.FileWatchdog; public ...

  9. java 监听文件或者文件夹变化的几种方式

    1.log4j的实现的文件内容变化监听 package com.jp.filemonitor; import org.apache.log4j.helpers.FileWatchdog; public ...

  10. service的生命周期以及两种service的差异

    可以看到,两种service的生命周期都相对简单,有一点不同的是,Intentservice每次调用的时候都执行onstartcommand,而boundservice一旦启动了之后,就不会每次执行o ...

随机推荐

  1. 以 100GB SSB 性能测试为例,通过 ByteHouse 云数仓开启你的数据分析之路

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 I. 传统数仓的演进:云数仓 近年来,随着数据"爆炸式"的增长,越来越多的数据被产生.收集和存 ...

  2. 基于jdk自带httpserver开发的最小完整MVC框架

    基于jdk自带httpserver开发的最小完整MVC框架 410kb级的完整MVC:solon(83k) + jdkhttp(27k) + enjoy(227k) + snack3(73k) DEM ...

  3. SpringBoot Kafka SSL接入点PLAIN机制收发消息

    applycation.yml spring: # https://developer.aliyun.com/article/784990 kafka: bootstrap-servers: XXXX ...

  4. Selenium八大元素定位(元素定位,元素等待)

    Selenium WebDriver查找页面元素及元素操作 元素常用方法定位方法 通过id定位元素:find_element_by_id('id_value') 通过name定位元素:find_ele ...

  5. 【python爬虫】bs4遍历、搜索文档树 bs4使用css选择器 selenium基本使用 selenium查找标签 selenium执行js代码

    目录 上节回顾 今日内容 0 bs4遍历文档树 1 bs4搜索文档树 1.1 find方法的其他参数 2 css选择器 3 selenium基本使用 4 无界面浏览器 4.1 模拟登录百度 5 sel ...

  6. Linux 下 Docker 操作遭到守护程序套接字时访问权限被拒绝

    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker. ...

  7. vivo悟空活动中台 - 微组件多端探索

    本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/oGX4XSm8F4fa1ocLdpyqlA作者:悟空中台研发团队 [悟空活动中台]系列往期精 ...

  8. 2021 VDC :vivo 互联网服务亿级用户的技术架构演进之路

    关注公众号[vivo互联网技术]--回复[2021VDC]获取大会PPT. 2021年12月16日,vivo 开发者大会圆满落幕.在互联网技术专场中,来自vivo 互联网技术的6位研发专家,从基础架构 ...

  9. 理解CAP理论

    1. 理论什么是CAP? cap定理,它的提出是对于一个分布式系统得出的一个观点,是不能同时满足下面三点 一致性 可用性 分区容忍性 CAP理论认为,分布式系统最多只能同时满足其中的两个特性,而无法同 ...

  10. 为什么我要迁移SpringBoot到函数计算

    前言 为什么要迁移? 我们的业务有很多对外提供服务的 RESTful API,并且要执行很多不同的任务,例如同步连锁 ERP 中的商品信息到美团/饿了么等平台,在线开发票等.由于各种 API 和任务执 ...