当前位置: 首页 > article >正文

vue中events选项与$on监听自定义事件他们的区别与不同,以及$emit与$on之间通信和mounted生命周期钩子函数有哪些作用和属性

events 选项确实曾经被用于监听事件,但它主要用于早期版本的 Vue.js(1.x)中,用于组件之间的通信。在 Vue 2.x 中,events 选项已经被废弃,取而代之的是更强大的 $emit 和 $on 方法。

使用$emit来监听自定义事件
$emit主要用于组件中监听 DOM 事件。

<div id="app">//组件绑定自定义的事件add<my-fade @add="handleAdd"></my-fade><ul><li v-for="item in items" :key="item.id">{{ item}}</li></ul>
</div>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.13/vue.js"></script>
<script>let vm=new Vue({el:"#app",data:{items:[]  },//注册局部组件components:{'my-fade':{//组件的模板,绑定一个点击事件并绑定一个函数template:'<button @click="sendMessage">发送消息</button>',methods:{//绑定的事件函数sendMessage(){//$emit即是用来触发自定义事件的,这里即是组件上自定义的add事件this.$emit('add','Hello from child component!');}}}},methods:{handleAdd(msg){this.items.push(msg);}}})
</script>
  • 使用 $on 方法监听事件

$on 方法用于在 Vue 实例或组件上监听自定义事件

<div id="app"><button @click="triggerEvent">触发事件</button>
</div>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.13/vue.js"></script>
<script>let vm=new Vue({el:"#app",methods:{triggerEvent(){//触发自定义事件custom-event,并发送一个信息this.$emit('custom-event','Hello from custom event!');}},//mounted是vue的生命周期钩子函数mounted(){//监听custom-event事件,并接受收到一个信息this.$on('custom-event',(message)=>{alert(`接收到信息:${message}`);});}})
</script>
  • mounted 的作用与 DOM 交互:

在 mounted 钩子中,可以访问到挂载后的 DOM 元素,因为此时 Vue 实例已经与 DOM 完全绑定。

可以通过 this.$el 获取到挂载的根 DOM 元素。

  • 初始化数据:

可以在这个阶段初始化一些数据,尤其是那些需要从后端获取的数据。
例如,发送 HTTP 请求获取初始数据并更新组件的状态。

  • 绑定事件监听器:

可以绑定一些 DOM 事件监听器,例如 addEventListener,用于处理用户的交互操作。

  • 执行动画或过渡效果:

可以在这个阶段触发一些动画或过渡效果,因为此时 DOM 已经渲染完成。

  • mounted 的方法和属性

在 mounted 钩子中,可以使用 Vue 实例的所有方法和属性,例如:

this. e l :获取挂载的根 D O M 元素。 t h i s . el:获取挂载的根 DOM 元素。 this. el:获取挂载的根DOM元素。this.data:访问组件的 data 数据。
this. m e t h o d s :访问组件的 m e t h o d s 方法。 t h i s . methods:访问组件的 methods 方法。 this. methods:访问组件的methods方法。this.emit:触发自定义事件。
this. o n :监听自定义事件。 t h i s . on:监听自定义事件。 this. on:监听自定义事件。this.set:用于设置响应式数据。
this.$nextTick:在 DOM 更新完成后执行回调。

<div id="app"><h4>{{message}}</h4><button @click="changeMessage">改变信息</button>
</div>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.13/vue.js"></script>
<script>let vm=new Vue({el:"#app",data:{message:"hello xiaomin"},mounted(){console.log('Mounted hook called.');console.log(this.$el);this.fetchData();window.addEventListener('resize',this.handleResize);this.$nextTick(()=>{console.log('Dom updated.');});},methods:{fetchData(){setTimeout(()=>{this.message='Data loaded from server';},10000);},handleResize(){console.log('window resized');},changeMessage(){this.message='Message changed';},beforeDestroy(){window.removeEventListener('resize',this.handleResize);}}})
</script>

总结:
mounted 是 Vue 生命周期中的一个重要钩子,通常用于:
访问和操作 DOM 元素。
初始化数据,尤其是从后端获取数据。
绑定事件监听器。
触发动画或过渡效果。
在使用 mounted 时,需要注意清理绑定的资源(如事件监听器),以避免内存泄漏。

相关文章:

vue中events选项与$on监听自定义事件他们的区别与不同,以及$emit与$on之间通信和mounted生命周期钩子函数有哪些作用和属性

events 选项确实曾经被用于监听事件&#xff0c;但它主要用于早期版本的 Vue.js&#xff08;1.x&#xff09;中&#xff0c;用于组件之间的通信。在 Vue 2.x 中&#xff0c;events 选项已经被废弃&#xff0c;取而代之的是更强大的 $emit 和 $on 方法。 使用$emit来监听自定义…...

【C++ 】智能指针:内存管理的 “自动导航仪”

目录 一、引入 二、智能指针的两大特性&#xff1a; 1、RAII 特点&#xff1a; 好处&#xff1a; 2、行为像指针 三、智能指针起初的缺陷&#xff1a;拷贝问题 四、几种智能指针的介绍。 1、C98出现的智能指针——auto_ptr auto_ptr解决上述拷贝构造的问题&#xff1a…...

设备制造行业项目管理难点解析,如何有效解决?

在设备制造行业&#xff0c;项目管理是企业运营的核心环节&#xff0c;直接影响项目交付效率、成本控制和盈利能力。然而&#xff0c;由于行业特性复杂、项目周期长、涉及部门多&#xff0c;企业在实际操作中常常面临诸多管理痛点。金众诚工程项目管理系统&#xff0c;依托金蝶…...

浅谈 PAM-2 到 PAM-4 的信令技术演变

通信信令技术演进&#xff1a;从 PAM-2 到 PAM-4 在当今数字化高速发展的时代&#xff0c;数据传输需求呈爆炸式增长&#xff0c;行业对通信带宽的要求愈发严苛。为顺应这一趋势&#xff0c;通信信令技术不断革新&#xff0c;曾经占据主导地位的不归零&#xff08;NRZ&#xff…...

Protos-SIP:经典 SIP 协议模糊测试工具!全参数详细教程!Kali Linux教程!

简介 该测试套件的目的是评估会话发起协议 (SIP) 实现的实现级别安全性和稳健性。 Protos-SIP 是一款专为 SIP 协议模糊测试&#xff08;Fuzzing&#xff09;设计的工具&#xff0c;最初由 OUSPG&#xff08;Oulu University Secure Programming Group&#xff09;开发&#…...

复数三角不等式简介及 MATLAB 演示

复数三角不等式简介及 MATLAB 演示 1. 复数三角不等式简介 复数三角不等式&#xff08;Complex Triangle Inequality&#xff09;是复数的一种重要性质&#xff0c;它类似于普通的三角不等式&#xff0c;但适用于复数空间。具体来说&#xff0c;复数三角不等式可以描述复数之…...

【Doris基础】Apache Doris 基本架构深度解析:从存储到查询的完整技术演进

目录 1 引言 2 Doris 架构全景图 2 核心组件技术解析 2.1 Frontend 层&#xff08;FE&#xff09; 2.2 Backend 层&#xff08;BE&#xff09; 3 数据存储与复制机制 3.1 存储架构演进 3.2 副本复制策略 4 查询处理全流程解析 4.1 查询生命周期 5 高可用设计 5.1 F…...

程序人生-hellohelloo

计算机系统 大作业 题 目 程序人生-Hello’s P2P 专 业 计算机与电子通信 学   号 2023111976 班   级 23L0504 学 生 孙恩旗     指 导 教 师 刘宏伟    计算机科…...

ASP.NET Core SignalR的基本使用

文章目录 前言一、SignalR是什么&#xff1f;在 ASP.NET Core 中的关键特性&#xff1a;SignalR 工作原理简图&#xff1a; 二、使用步骤1.创建ASP.NET Core web Api 项目2.添加 SignalR 包3.创建 SignalR Hub4.配置服务与中间件5.创建控制器(模拟服务器向客户端发送消息)6.创建…...

【C语言】讲解 程序分配的区域(新手)

目录 代码区 数据区 堆区 栈区 常量区 重点比较一下堆区与 栈区 总结&#xff1a; 前言&#xff1a; C语言程序的内存分配区域是理解其运行机制的重要部分。根据提供的多条证据&#xff0c;我们可以总结出C语言程序在运行时主要涉及以下五个关键内存区域&#xff1a; 代…...

【脚本 完全参数化的通用 APT 源配置方案-Debian/Ubuntu】

通过脚本在 Debian/Ubuntu 系统上一键切换 APT 源 如Dockerfile中 使用某个源&#xff08;比如 aliyun&#xff09; 假设你的目录结构是&#xff1a; . ├── Dockerfile └── switch-apt-source.shFROM ubuntu:22.04# 把脚本拷贝到镜像中 COPY switch-apt-source.sh /us…...

数据集笔记:SeekWorld

提出了一项新任务&#xff1a;地理定位推理&#xff08;Geolocation Reasoning&#xff09; 该任务要求模型在感知视觉信息的同时&#xff0c;推理出图像中视觉语义所隐含的高级逻辑关系&#xff0c;从而确定图像的拍摄地点 TheEighthDay/SeekWorld at main 构建了一个基于规则…...

LeetCode 算 法 实 战 - - - 移 除 链 表 元 素、反 转 链 表

LeetCode 算 法 实 战 - - - 移 除 链 表 元 素、反 转 链 表 第 一 题 - - - 移 除 链 表 元 素方 法 一 - - - 原 地 删 除方 法 二 - - - 双 指 针方 法 三 - - - 尾 插 第 二 题 - - - 反 转 链 表方 法 一 - - - 迭 代方 法 二 - - - 采 用 头 插 创 建 新 链 表 总 结 &a…...

Jenkins实践(10):pipeline构建历史展示包名和各阶段间传递参数

Jenkins实践(10):构建历史展示包名和pipeline各阶段间传递参数 1、构建历史展示包名 参考:https://blog.csdn.net/fen_fen/article/details/148167868 1.1、方法说明 Jenkins版本:Jenkins2.452 通过修改 currentBuild.displayName 和 currentBuild.description 实现: …...

从头认识AI-----循环神经网络(RNN)

前言 前面我们讲了传统的神经网络&#xff0c;如MLP、CNN&#xff0c;这些网络中的输入都被单独处理&#xff0c;没有上下文之间的信息传递机制&#xff0c;这在处理序列数据&#xff08;如语音、文本、时间序列&#xff09;时很鸡肋&#xff1a; 如何理解一句话中“前后文”的…...

配置远程无密登陆ubuntu服务器时无法连接问题排查

配置远程无密登陆ubuntu服务器时无法连接问题排查 登陆端排查服务器端登陆排查 登陆端排查 ssh -v 用户名Ubuntu服务器IP可能日志输出 debug1: Authentications that can continue: publickey,password服务器端登陆排查 sudo tail -f /var/log/auth.log可能日志输出 Authen…...

5.31 数学复习笔记 22

前面的笔记&#xff0c;全部写成一段&#xff0c;有点难以阅读。现在改进一下排版。另外&#xff0c;写笔记实际上就是图一个放松呢&#xff0c;关键还是在于练习。 目前的计划是&#xff0c;把讲义上面的高数例题搞清楚之后&#xff0c;大量刷练习册上面的题。感觉不做几本练…...

kafka学习笔记(三、消费者Consumer使用教程——使用实例及及核心流程源码讲解)

1.核心概念与架构 1.1.消费者与消费者组 Kafka消费者是订阅主题&#xff08;Topic&#xff09;并拉取消息的客户端实例&#xff0c;其核心逻辑通过KafkaConsumer类实现。消费者组&#xff08;Consumer Group&#xff09;是由多个逻辑关联的消费者组成的集合。 核心规则 同一…...

鸿蒙 Form Kit(卡片开发服务)

Form Kit&#xff08;卡片开发服务&#xff09; 鸿蒙应用中&#xff0c;Form / Card / Widget 都翻译为“卡片” Form Kit&#xff08;卡片开发服务&#xff09;提供一种界面展示形式&#xff0c;可以将应用的重要信息或操作前置到服务卡片&#xff0c;以达到服务直达、减少跳转…...

算力卡上部署OCR文本识别服务与测试

使用modelscope上的图像文本行检测和文本识别模型进行本地部署并转为API服务。 本地部署时把代码中的检测和识别模型路径改为本地模型的路径。 关于模型和代码原理可以参见modelscope上这两个模型相关的页面&#xff1a; iic/cv_resnet18_ocr-detection-db-line-level_damo iic…...

KWIC—Implicit Invocation

KWIC—Implicit Invocation ✏️ KWIC—Implicit Invocation 文章目录 KWIC—Implicit Invocation&#x1f4dd;KWIC—Implicit Invocation&#x1f9e9;KWIC&#x1f9e9;核心组件&#x1f9e9;ImplementationScheme⚖️ 隐式调用 vs 显式调用对比 &#x1f31f; 总结 &#x…...

Visual Studio 2022 发布独立的 exe 文件

我们在用 Visual Studio 2022 写好一个 exe 程序之后&#xff0c;如果想把这个拿到其他地方运行&#xff0c;需要把 exe 所在的文件夹一起拿过去。 编译出来的 exe 文件需要其他几个文件一同放在同一目录才能运行&#xff0c;原因在于默认情况下&#xff0c;Visual Studio 是把…...

11.4java语言执行浅析4

编译成字节码&#xff08;.class 文件&#xff09; 使用 javac 命令将源代码编译为 Java 字节码&#xff08;bytecode&#xff09; 它不是机器码&#xff0c;而是 JVM 能理解的中间语言&#xff08;字节码&#xff09;&#xff0c;具有平台无关性。 编译过程简要&#xff1…...

Excel 操作 转图片,转pdf等

方式一 spire.xls.free&#xff08;没找设置分辨率的方法&#xff09; macOs开发Java GUI程序提示缺少字体问题解决 Spire.XLS&#xff1a;一款Excel处理神器_spire.xls免费版和收费版的区别-CSDN博客 官方文档 Spire.XLS for Java 中文教程 <dependency><groupI…...

说说 Kotlin 中的 Any 与 Java 中的 Object 有何异同?

在 Kotlin 中 Any 类型和 Java 中的 Object 类都是所有类型的根类型。 1 基本定义 Kotlin 中的 Any 和 Any?&#xff1a; Any&#xff1a;是所有非空类型的根类型&#xff1b;Any?&#xff1a;是所有可空类型的根类型&#xff1b; Java 中的 Object&#xff1a; 是所有类…...

python分配方案数 2023年信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析

python分配方案数 2023全国青少年信息素养大赛Python编程挑战赛复赛真题解析 博主推荐 所有考级比赛学习相关资料合集【推荐收藏】1、Python比赛 信息素养大赛Python编程挑战赛 蓝桥杯python选拔赛真题详解...

《信号与系统》第 5 章 离散时间傅里叶变换

5.0 引言 这一章将介绍并研究离散时间傅里叶变换&#xff0c;这样就完整地建立了傅里叶分析方法。 5.1 非周期信号的表示&#xff1a;离散时间傅里叶变换 5.1.1 离散时间傅里叶变换的导出 在第4章看到&#xff1a;一个连续时间周期方波的傅里叶级数可以看成一个包络函数的采…...

动态IP与区块链:重构网络信任的底层革命

在数字经济蓬勃发展的今天&#xff0c;网络安全与数据隐私正面临前所未有的挑战。动态IP技术与区块链的深度融合&#xff0c;正在构建一个去中心化、高可信的网络基础设施&#xff0c;为Web3.0时代的到来奠定基础。 一、技术碰撞&#xff1a;动态IP与区块链的天然契合 动态I…...

目前主流图像分类模型的详细对比分析

以下是目前主流图像分类模型的详细对比分析&#xff0c;结合性能、架构特点及应用场景进行整理&#xff1a; 一、主流模型架构分类与定量对比 模型名称架构类型核心特点ImageNet Top-1准确率参数量&#xff08;百万&#xff09;计算效率典型应用场景ResNetCNN残差连接解决梯度…...

uniapp使用Canvas生成电子名片

uniapp使用Canvas生成电子名片 工作中有生成电子名片的一个需求&#xff0c;刚刚好弄了发一下分享分享 文章目录 uniapp使用Canvas生成电子名片前言一、上代码&#xff1f;总结 前言 先看效果 一、上代码&#xff1f; 不对不对应该是上才艺&#xff0c;哈哈哈 <template…...