Vue当中,hooks可以作为一种event,在Vue的源码当中,称之为hookEvent

Vue组件中,可以用过$on,$once去监听所有的生命周期钩子函数,如监听组件的updated钩子函数可以写成 this.$on('hook:updated', () => {})

示例:使用hook之前

<template><div class="echarts"></div>
</template>
<script>
export default {mounted() {this.chart = echarts.init(this.$el)// 请求数据,赋值数据 等等一系列操作...// 监听窗口发生变化,resize组件window.addEventListener('resize', this.$_handleResizeChart)},updated() {// 干了一堆活},created() {// 干了一堆活},beforeDestroy() {// 组件销毁时,销毁监听事件window.removeEventListener('resize', this.$_handleResizeChart)},methods: {$_handleResizeChart() {this.chart.resize()},// 其他一堆方法}
}
</script>

使用hook之后,监听组件

export default {mounted() {this.chart = echarts.init(this.$el)// 请求数据,赋值数据 等等一系列操作...// 监听窗口发生变化,resize组件window.addEventListener('resize', this.$_handleResizeChart)// 通过hook监听组件销毁钩子函数,并取消监听事件this.$once('hook:beforeDestroy', () => {window.removeEventListener('resize', this.$_handleResizeChart)})},updated() {},created() {},methods: {$_handleResizeChart() {// this.chart.resize()}}
}

监听第三方组件数据的变化,但是组件又没有提供change事件,同事也没办法了,才想出来要去在外部监听组件的updated钩子函数。查看了一番资料,发现Vue支持在外部监听组件的生命周期钩子函数。

<template><!--通过@hook:updated监听组件的updated生命钩子函数--><!--组件的所有生命周期钩子都可以通过@hook:钩子函数名 来监听触发--><custom-select @hook:updated="$_handleSelectUpdated" />
</template>
<script>
import CustomSelect from '../components/custom-select'
export default {components: {CustomSelect},methods: {$_handleSelectUpdated() {console.log('custom-select组件的updated钩子函数被触发')}}
}
</script>

Vue钩子函数之钩子事件hookEvent,监听组件相关推荐

  1. vue组件加载完成之后执行方法_vue-cli监听组件加载完成的方法

    在使用vue-cli开发项目时遇到过一个问题,要求是页面组件全部加载完成后再执行某个函数,给上代码参考,方法可能有点笨,好在实现了功能. 1.安装vuex npm install vuex --sav ...

  2. 关于TP6的 事件,监听,订阅 理解

    最近关于业务原因.要使用到TP6的事件,之前有个模糊的的概念.今天彻底的去看一下,按照官方文档来说 定义事件 事件系统使用了观察者模式,提供了解耦应用的更好方式 首先的话需要生成一个事件类可以使用官方 ...

  3. jquery对事件的监听方法addEventListener()

    在这个点击事件的监听里,我们可以获取鼠标的点击坐标 (function($){window.addEventListener("click",function(evt){for(v ...

  4. html监听页面关闭事件,JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...

  5. 前端开发——Vue 监听组件生命周期

    监听组件生命周期 通常我们使用 $emit 监听组件生命周期,父组件接收事件进行通知. 子组件 export default {mounted() {this.$emit( listenMounted ...

  6. qt Android 按键事件,QT无窗口状态下对键盘事件的监听

    Question:最近在搞linux下的一个客户端项目,需要接收键盘事件,但是又不能有界面,这种情况怎么处理呢? int main(int argc, char *argv[]) { QApplica ...

  7. html5中页面关闭事件监听,JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...

  8. SpringBoot--->>>原理解析-->>自定义事件监听组件

    自定义事件监听组件 在上面了解了在程序启动时准备工作和启动过程会扫描 spring.factories 中的配置,拿到要启动的各种配置.这也说明可以自己自定义一些程序启动时会自动扫描的文件,然后在 r ...

  9. 深入理解Spring的容器内事件发布监听机制

    前言 Spring 提供了 ApplicationContext 事件机制,可以发布和监听事件,这个特性非常有用. Spring 内置了一些事件和监听器,例如在 Spring 容器启动前,Spring ...

最新文章

  1. GPU编程和流式多处理器(二)
  2. iOS 关闭页面侧滑手势
  3. termux配置python_termux python环境
  4. [Swift]LeetCode210. 课程表 II | Course Schedule II
  5. 显示catispecobject_CATIA CAA 二次开发 详细教程
  6. 前端学习(2860):简单秒杀系统学习之前端优化
  7. 我的世界java版游戏崩溃_我的世界全攻略之-游戏崩溃的解决方法
  8. python中print又可将数据写入文件_Python第五课-将写入文件的列表格式化
  9. HTML入门之003
  10. 20190925每日一句
  11. hive窗口函数使用详解
  12. 机房黑科技:京东数科机房巡检机器人
  13. 阿里中台彻底搞砸了?下一站,小中台大前台
  14. verilog 锁存器
  15. 【MWC 2022观察】华为绿色智简全光网:让联接释放数字化转型新动能
  16. 2007年IT产业回顾:划时代的一年 一个变革的时代
  17. python 下载pip命令
  18. python2.7+PyQt4对接速码接码平台
  19. 麻省理工学院从算法层面揭示男女配对的自然法则(扎心真相!!!)
  20. 解决:Word 不显示 EndNote 插件(Word 插件不显示问题通用)

热门文章

  1. 阿里如何实现秒级百万TPS?搜索离线大数据平台架构解读
  2. 实战c++中的string系列--string的替换、查找(一些与路径相关的操作)
  3. Python学习总结----基础篇3
  4. 尚硅谷JavaWeb笔记——HTML、CSS(后端补充前端知识,这些就够了)
  5. 小程序----页面导航
  6. python关键词对联_如何用深度学习框架PaddlePaddle实现智能春联
  7. 时间戳怎么转化日期,不同时间类型显示
  8. 潮卡热血HBIC海贼王NFT卡牌到底是什么?
  9. 改网站不存在cdn服务器,网站添加cdn加速服务器
  10. 3d打印(3):购买3d打印机,组装打印