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

vue通过封装$on定义全局事件

我们先在vue项目的src跟目录下创建一个文件夹 叫 utils
下面创建一个js文件夹 叫 bus.js
参考代码如下

import Vue from "vue";
export default new Vue();

然后 我们就可以来用了

在需要定义事件的组件中编写

<template><div><h1>Hello world!</h1></div>
</template><script>
import Bus from '@/utils/bus';
export default {mounted() {Bus.$on('csonldom',(dom)=>{console.log("全局事件输出",dom);})},methods: {}
}
</script>

然后 在需要使用这个方法的组件中调用

<template><div><button @click = "startScanner">触发全局事件</button></div>
</template><script>
import Bus from '@/utils/bus';export default {data() {return {}},methods: {startScanner() {Bus.$emit('csonldom', "小猫猫");}}
}
</script>

需要注意的是
首先 你要
Bus. o n ( ′ 方法 名 ′ , ( d o m ) = > / / 方法体 ) 这个要定义了你用 B u s . on('方法名',(dom)=>{ //方法体 }) 这个要定义了 你用 Bus. on(方法,(dom)=>//方法体)这个要定义了你用Bus.emit(‘方法名’, 方法参数);
才能调用
如果声明的语句还没有执行 你直接通过Bus调用是肯定拿不到的

http://www.lryc.cn/news/91109.html

相关文章:

  • 资产管理规范
  • 已解决:如何从别人的仓库那里克隆到自己的仓库,并修改代码并提交。
  • 剑指 Offer 18. 删除链表的节点
  • WiFi 6 vs WiFi 5
  • PHP语言基础
  • 怎么用Excel VBA写一个excel批量合并的程序?
  • WuThreat身份安全云-TVD每日漏洞情报-2023-05-22
  • Eclipse教程 Ⅵ
  • Seaborn.load_dataset()加载数据集失败最佳解决方法
  • java 区分缺陷Defects/感染Infections/失败Failure
  • 如何学习R-Meta分析与【文献计量分析、贝叶斯、机器学习等】多技术融合?
  • 分布式锁的应用场景与分布式锁实现(二):基于Redis实现分布式锁
  • 【JavaSE】Java基础语法(四十二):NIO
  • Linux---systemctl
  • 零钱兑换,凑零钱问题,从暴力递归到动态规划(java)
  • Vue登录界面精美模板分享
  • Linux设备驱动程序(二)——建立和运行模块
  • 【算法】单调栈问题
  • Hack The Box - 关卡Dancing
  • 【软件设计与体系结构】 软件体系结构风格
  • detectron2 使用教程
  • 哈希表常用数据结构
  • Java字节流
  • arm3399主板-使用ubuntu20.04搭建LVS-DR(netplan)
  • Go中同/异步与锁的应用~~sync包
  • Flask知识点2
  • R语言生物群落(生态)数据统计分析与绘图(从数据整理到分析结果展示)
  • 代码随想录训练营Day58| 739. 每日温度 496.下一个更大元素 I
  • 设计模式-命令模式
  • 软考——下午题部分,例题一,二,三,六