Vue之mitt事务总线使用方法

2023-11-04

npm install -S mitt

1.组件总线

①vue入口文件main.js中挂载全局属性

//导入vue创建命令
import { createApp } from 'vue';
//导入vue入口组件
import App from './App.vue';
//导入插件mitt
import mitt from "mitt"
...
//创建Vue应用实例
const app = createApp(App)
//挂载事务总线为全局属性
app.config.globalProperties.$mybus = new mitt()
...
 
app 是自定义Vue实例名
mybus 是自定义总线属性名

②组件中发送事件/发布
this.$mybus.emit('自定义事件名称','数据');

③组件中接收事件/订阅

this.$mybus.on('自定义事件名称',data=>{
    console.log(data); //控制台输出接收到的数据
})


④移除总线事件监听
this.$mybus.off('自定义事件名称')

2. 组件总线
①封装自定义事务总线文件mybus.js
创建新的js文件,自定义命名

/src/myplugins/mybus.js

import mitt from 'mitt'
export default mitt()


 ②在发送和接收组件中分别导入mybus.js

<template>
...
</template>
<script>
import mybus from "../myplugins/mybus";
...
export default {
...
}
</script>
<style>
...
</style>
注意:
组件中导入文件mybus.js使用相对路径

③发送事件/发布
mybus.emit('自定义事件名称','数据');

④接收事件/订阅
mybus.on('自定义事件名称',data=>{
    console.log(data);//接收到的数据
})

⑤移除总线事件监听
mybus.off('自定义事件名称');
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue之mitt事务总线使用方法 的相关文章

  • 自动调整Google网站嵌入代码的高度(html)

    我正在使用 Google 协作平台嵌入 HTML 代码 将代码粘贴到 从网络嵌入 窗口中 输出的长度是可变的 我希望有一种方法可以动态调整父级的高度iframeGoogle 协作平台用于托管我的 HTML 我知道我可以使用 Google 协
  • 如何在 Firefox 控制台中访问附加内容脚本?

    我为 Firefox 和 Chrome 开发了一个插件 它有内容脚本 我想在浏览器选项卡的控制台中访问它们 在 Firefox 上网页控制台 https developer mozilla org en US docs Tools Web
  • 无法在 JavaScript for 循环中读取 null 的属性“长度”

    我正在尝试制作一个像 Stack Overflow 那样的 Markdown 编辑器 如果我实际上没有在文本区域中键入星号和包含短语的 http 我会收到标题中列出的此错误 如果我只输入包含星号的短语 则错误指的是这一行 if linkif
  • Javascript DOM setAttribute 在函数调用中不起作用

    我有一个带有输入元素的 HTML 文件 我希望向其中添加一个名为 valid fieldset011 的新属性 该属性用作 AngularJS 验证器的链接 输入元素具有属性 id fieldset011 如果我使用以下脚本 包含在脚本标签
  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • ajaxStop() 不触发

    这是不起作用的代码 document ajaxStop function this unbind ajaxStop prevent running again when other calls finish Display everythi
  • 在鼠标光标位置添加 cytoscape 节点

    我想在画布上的单击事件上的鼠标箭头位置添加一个 cytoscape 节点 我怎样才能做到这一点 我的方法 效果不太好 我可以通过单击创建一个节点 但无法确保创建的节点的位置位于我单击的位置 使用这样的东西 cy click function
  • 如何导入和导出 javascript ES6 类

    我是 javascript 和 nodejs 的新手 我正在使用这个项目来发展我的技能并学习新技术 目前我的项目使用多个相互依赖的类 类文件位于不同的目录中 我当前正在尝试使用 export 和 require 语句来允许在其他文件中引用类
  • javascript jquery 使用脚本更改脚本的src

    我有一个 JavaScript 脚本 它有一个 src 元素 这个 src 是一个 url 我想使用 javascript 更改它 一次更改为其他内容 或者动态创建它 使用 javascript jquery 动态创建脚本元素的最佳方法是什
  • 搜索深度嵌套数组以更新对象

    我有一个深层嵌套的数据结构 我有兴趣匹配数组 和数组数组 中的某个值 然后将一些数据推送到随附的数组中 例如以下是我的数组colors并伴随着的是更多颜色数组可能存在也可能不存在 var myData color green moreCol
  • 确定元素是在页面折叠上方还是下方

    我有一些页面有多个输入框 用户可以在其中输入文本 在单击 下一步 按钮之前 需要填写其中一些内容 我弹出验证错误供用户查看 但是如果问题不在页面上 我希望页面滚动到它 而不是他们必须搜索丢失 错误的字段 我有一个滚动到位 但我无法确定要滚动
  • 如何更改自动完成中的结果过滤器?

    我不想进行字面匹配 而是想通过正则表达式选择结果 我可以覆盖自动完成的默认行为来完成此任务还是需要替代结构 有一个内置的方法可以做到这一点 只需提供一个函数source http jqueryui com demos autocomplet
  • 如何在 Laravel 5.4 中加载 Vue 组件?

    我已经运行 npm run watch 并收到了消息 This dependency was not found in resources assets js app js To install it you can run npm ins
  • 如何检测元素内容何时发生变化

    我正在寻找一种方法来监视元素内动态填充 无页面重新加载 内容 以便我可以将类添加到另一个元素 到目前为止我有这个 HTML div class message container div class messages error span
  • 计算文本选择的 xy 位置

    我正在尝试使用 DOM 元素创建自己的文本选择 是的 我的意思是当您在此元素中选择文本时 您会在文本后面看到蓝色背景 这个想法是停止默认行为 蓝色 并使用我自己的元素来完成工作 方法是找到选择的 xy 位置 然后放置绝对定位的元素 我希望能
  • 禁用特定 div 上的 Tab 键

    我有以下结构 div div Some content div div Some content div div 我想 禁用 div2 上的 tab 键 我的意思是按下 tab 键时 div2 的元素不会获得焦点 有没有简单的方法可以使用
  • 如何处理requireJs超时错误?

    我正在使用 require js 作为加载框架编写一个移动混合应用程序 我遇到加载错误的问题 我想做的是在设备离线且无法下载在屏幕上显示地图所需的 google 地图 API 脚本时设置后备解决方案 我得到的只是 Uncaught Erro
  • MongoDB中如何通过引用字段进行查询?

    我有两个 Mongo 模式 User id ObjectId name String country ObjectId Reference to schema Country Country id ObjectId name String
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘
  • Node npm 包抛出使用严格:全局发布和安装后未找到命令

    我正在尝试发布 npm 包 当我全局安装该包并尝试运行 cli 命令时 我收到此错误 nvm versions node v0 12 2 bin myPack line 1 use strict command not found nvm

随机推荐

  • Elasticsearch-head插件安装教程

    目录标题 前言 一 安装node 二 安装Elasticsearch head插件 1 上传压缩包到 opt es路径下去 2 解压安装包 3 192 168 43 10机器修改Gruntfile js 4 192 168 43 10机器修
  • spdk探秘-----块设备开发指导

    这里的块设备是一种存储设备 它支持在固定大小的块中读写数据 这些块通常是512或4096字节 这些设备可能是软件中的逻辑结构 或者对应于像NVMe ssd这样的物理设备 通用库的公共头文件是bdev h 它是与任何类型的块设备交互所需的全部
  • 面经四(多线程的状态)

    援引于线程有哪些状态 每个状态是什么意思 又是如何切换的 线程状态 生命周期 1 新建状态 new 创建线程对象 但是没有交给CPU 也就是没有调用start 方法 只有一个Thread对象 还没有一个真正的线程 每个线程只存在一次新建状态
  • FATFS 0.13 f_mount(&fs,““,1)挂载失败的原因

    这两天学着用了一下FATS文件系统 虽然工作中没用到 但是对个人的经验积累还是有用的 看了一下 代码并不多 但是精简啊 指针跳来跳去的一不小心就晕了 所以也遇到了不少问题啊 这里就讲一下我遇到的第一步就懵逼的问题 那就是 FRESULT f
  • vue其他之“命名规则”

    骆驼式命名法在许多新的函数库和Microsoft Windows这样的环境中使用得相当多 另一方面 下划线法是c出现后开始流行起来的 在许多旧的程序和UNIX这样的环境中 它的使用非常普遍 驼峰式命名法 由一个或多个单词连结在一起 而构成的
  • 攻防世界(adworld) WEB Exercise area(练习区)10题解题思路

    攻防世界 https adworld xctf org cn view source 点右键看源代码被禁止了 要么F12 要么去其他工具中请求就可以了 robots 机器人协议 是规定了爬虫哪些页面可以爬 哪些不可以 robots txt
  • LeetCode每日一题(2444. Count Subarrays With Fixed Bounds)

    You are given an integer array nums and two integers minK and maxK A fixed bound subarray of nums is a subarray that sat
  • [OpenGL] CentOS7 安装 mesa

    CentOS 7安装 mesa How to install mesa on centos 7 1 下载原文件 下载连接 mesa 11 1 3 tar gz freeglut 3 0 0 tar gz libdrm 2 4 66 tar
  • PCB中焊盘和字体整体变透明原因

    之前画PCB时候发现怎么PCB元器件颜色看着很透明 想想看自己也没干什么 怎么变透明了 透明图如下所示 从上图来看是不是焊盘和字体都透明一样 后来发现原来是之前自己看3D时候把颜色改了 切换回2D时候设置为2D透明模式了 如图所示 把这个2
  • 2023年大厂裁员严重,软件测试行业真的饱和了吗?

    这短时间以来后台有很多小伙伴说找工作难 并且说软件测试行业饱和了 竟然登上了热榜 那么我今天带大家看看真实的市场行情 往下看 这个是公司联合某厂的HR招聘真实情况 很明显 软件测试 投简历竟然高达9999 沟通才1千多 说明什么 软件测试
  • 常见的端口服务及漏洞(详细)

    端口 对应的服务 存在的相关漏洞 21 69 ftp tftp 文件传输协议 爆破 嗅探溢出 后门 匿名访问 22 ssh 爆破 openssh漏洞 23 telnet 远程连接 爆破嗅探 25 smtp 邮件服务 弱口令 未授权访问 邮件
  • zookeeper+dubbo+springmvc,搭建

    Dubbo是一个分布式服务框架 在这基础上可以做成分布式计算机网络解决很多高并发或者数据处理量大的问题 二zookeeper又是dubbo的一个重要组件 在此 我借助java语言和springmvc框架介绍如何初步构建一个dubbo服务框架
  • 2023有哪些更好用的网页制作工具

    过去 专业人员使用HTMLL CSS Javascript等代码手动编写和构建网站 现在有越来越多的智能网页制作工具来帮助任何人实现零代码基础 随意建立和设计网站 在本文中 我们将向您介绍2023年流行的网页制作工具 我相信一旦选择了正确的
  • 网络安全技术期末复习——理论部分

    复习 考核 网络安全基本理论知识点 实际设备 网络安全实验 出勤 作业 讨论 课堂练习 11次课的作业完成情况 偏实践和操作 60 综合系统复习 理论考核 时间占三分之一 150分钟 理论就是50 操作100分钟 120分钟 理论40 操作
  • 匀速贝塞尔曲线运动的实现(转)

    二次贝塞尔曲线通常以如下方式构建 给定二维平面上的固定点P0 P1 P2 用B t 表示该条曲线 用一个动画来演示 可以更加清楚的表明这条曲线的构建过程如果t变量本身线形变化的话 这条贝塞尔曲线本身的生成过程是并不是匀速的 通常都是两头快中
  • 解决nodejs版本问题

    下载nvm 1 1 7 管理nodejs版本 下一步进行nodejs 安装 这里注意本人使用nvm1 1 9出现错误发现1 1 7较为好用 nvm use 选择使用版本 npm v 测试nodejs安装是否成功
  • React控制元素显示隐藏的三种方法

    React控制元素显示和隐藏的方法目前我知道的有三种方法 第一种是通过state变量来控制是否渲染元素 类似vue中的v if 第二种是通过style控制display属性 类似vue 中的v show 第三种是通过动态切换classNam
  • S11、反射系数、回波损耗

    S11是反射系数中的一种 以dB为单位的S11就是回波损耗 S11 Pr Pin S11等于反射功率除以入射功率 是功率比 将S11转换成以dB为单位 10 lgS11 系数 S11 dB 就是回波损耗 HFSS里S11就是这样表示的 ma
  • 问题记录整理(持续更新)

    文章目录 Java SSL SpringBoot Springboot项目配置jar外部静态文件 Swagger JPA SpringCloud Gateway 不能使用 web MVC框架 Feign 每个参数需要指定PathVariab
  • Vue之mitt事务总线使用方法

    npm install S mitt 1 组件总线 vue入口文件main js中挂载全局属性 导入vue创建命令 import createApp from vue 导入vue入口组件 import App from App vue 导入