bus总线的原理解析_bus总线工作原理_哆来A梦没有口袋的博客-程序员宝宝

技术标签: bus总线的使用  vue  bus总线的原理  bus总线  vue的bus总线  兄弟间传值  

非父子组件间传递数据有很多种方式,本文从官方文档开始解析bus总线的原理

1.关于官方介绍 从 Vue 1.x 迁移 — Vue.js

 在官方文档中对bus总线的介绍是使用,但是明确指出了复杂情况推荐使用vuex实现非父子组件直接的传值,bus总线应用在简单的项目

1.怎么理解bus总线

bus总线就是一个中间组件,触发事件,触发中间组件,监听中间组件的变化

2.bus组件存在的条件和注册

1.所有组件都可以访问
2.可以使用$emit,$on,$off

 在项目过程中要满足这两点需求

1.所有组件都可访问

在vue的项目中,要所有组件都可以访问,那么一定在vue进行实例化之前就准备好,就是下图红色部分

2.可以使用$emit,$on,$off

有$emit,$on,$off的一定是vue的实例对象vc,或者vueComponent的实例对象vm

挂载到哪都可以访问?必然是原型上

vue.prototype.$bus = vue的实例对象/vueComponent的实例对象

 第一种:

Vue.prototype.$bus = vueComponent的实例对象(所有的vueComponent的实例对象都是(Vue.extentd构造的)

 第二种:

在生命周期创建之前 Vue.prototype.$bus = vue的实例对象

第三种:

利用插件进行挂载

安装 - npm install vue-bus

注册使用:

import VueBus from 'vue-bus';

Vue.use(VueBus)

3.使用 

触发事件

this.$bus.$emit('事件名', 值)

 监听事件

create() {
  this.$bus.$on('事件名', (值) = > {
  })
}

 销毁事件

this.$bus.$off('事件名')

在理解bus总线的前提,是需要理解,为什么写在vue的原型上就可以访问?可以自行思考一下,涉及了一些vue的原理

码字不易,记得点赞哦!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42625428/article/details/123982040

智能推荐

关于ESP8266-01使用机智云SOC方案驱动IO2控制继电器操作_esp01机智云_未标题系列之单片机的博客-程序员宝宝

关于ESP8266-01使用机智云SOC方案控制IO2驱动继电器首先创建机智云账号,创建产品,添加数据点创建SOC方案,选好各项参数下载安装二次开发环境,不会的可以自行百度,教程比较详细下载链接链接: https://pan.baidu.com/s/1jUT-AGRS-hFaTr6QqVAVCA&shfl=shareset 提取码: imcu开始二次开发注意!注意...

找到翻译了,哈哈,玩爆英语老青年_weixin_34174322的博客-程序员宝宝

被陈X老师压迫了那么久,那泄心中的怨气,在网上找到他上课压迫我们的翻译题及答案,,在此贴出以供兄弟姐妹共享。考研英语长难句(1) 1. That sex ratio will be favored which maximizes the number of descendants an individual will have and hence t...

新型行业知识付费创业怎么起步?_格调教育的博客-程序员宝宝

互联网时代,总是会诞生很多让自己觉得特别新奇的东西,你会觉得新颖,又会觉得离你很近,但因为不知道要怎么做又离你很远。近几年知识付费特别流行,是现在的一个新趋势,现在做的人特别多,竞争越来越激烈,就现在的发展前景来看,知识付费只会越来越盛行,可以说在未来是一片好景。既然是一个新的流行趋势,肯定很多人想做知识付费,但对很多东西不了解。我们今天就来讲一下该怎么去做好知识付费。既然是知识付费,那么内容肯定是非常重要的一环。第一,当然是和优秀的内容或者ip达成合作,这一点是有优秀内容的基础第二,知识产品要

Effie: 一款属于程序工作者的写作软件_effie的插入代码_Dr_ginger的博客-程序员宝宝

我与 markdown在我很久之前的的博客中提到 markdown 是写作中很重要的技能,因为大部分对写作有需求的用户都有着这样的需求:需要专注于写作内容,同时也需要一定的格式支持。于是市面上就出现了两极分化的写作软件:第一种是类似于记事本一类的软件,它们不支持格式,或者一个文档仅支持同样的格式,它们的格式设置就像凑数的一样;另一种是类似 Word一类的软件,它们对格式支持特别强大,强大到你需要对这一种软件进行专门的学习。在接触 markdown 之前,我的世界就像上面说的那样两极分化。有的时候仅仅是

三种常见的Java应用性能挑战(转)_mib_2012的博客-程序员宝宝

Java是一种伟大的语言。它管理内存,传授面向对象的编程(思想),使我们更好地用它来编码。另外,它确实是一种“编写一次,到处运行“的语言。然而,Java应用程会遇到一些常见的开发者和应用者独耳熟能详的性能挑战。内存泄露Java的最大的好处之一是它能够管理内存模型。当对象不再使用时,Java会做清理工作。较旧的语言需要人工来管理内存,但开发者宁愿花时间专注于核心语言逻辑而不愿为内存分...

实现共享内存的又一方法_recherlau的博客-程序员宝宝

利用:winapi CreateFileMapping,参数设为:0*FFFFFFFF;说明它是共享内存而不是文件。例如:      myMapFile=CreateFileMapping((HANDLE) (0*FFFFFFFF),NULL,PAGE_READWRITE,0,9999,"recherFile");if(myMapFile!=NULL) myMapFile=(char

随便推点

C语言[栈]求解迷宫[所有路径]_迷宫问题找出所有路径c_Rice__的博客-程序员宝宝

运行结果截图(八方向可走)手写栈 LinkStack.h图 Maze.h#pragma warning(disable:4996)#ifndef MAZE_H_#define MAZE_H_#include<conio.h>#include <stdlib.h>#include <stdio.h>#include "LinkStack.h"typedef struct MAZE{ int size; int** data;}..

【LeetCode-SQL每日一练】—— 181. 超过经理收入的员工_超梦梦梦梦的博客-程序员宝宝

Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。

已使用.netframework,version=v4.6.1 而不是目标框架netcoreapp,version=v2.1 还原包,此包可能与项目不完全兼容..._weixin_30591551的博客-程序员宝宝

已使用.netframework,version=v4.6.1 而不是目标框架netcoreapp,version=v2.1 还原包,此包可能与项目不完全兼容NU1202: 包 System.Runtime.InteropServices.RuntimeInformation 4.0.0 与 netcoreapp2.2 (.NETCoreApp,Version=v2.2) 不兼容。 包 ...

解决字段名与实体类属性名冲突_普通网友的博客-程序员宝宝

1.在查询时给字段起别名,让别名和实体类属性名一样 <!-- 通过id查询 --> <select id="selectById" parameterType="int" resultType="com.zhiyou100.kfs.bean.Users">...

win8 开发之旅(9) --五子棋游戏开发 一个屌丝程序员谈ai_weixin_34315665的博客-程序员宝宝

一直相信IT世界的最有魅力的,便是能够实现人机对战 人工智能,他的魅力犹如一座美丽的天空之城,那里能够充满你与机器奋斗的火药气味,这是一个没有硝烟战斗,犹如纯爷们之间的战斗——浅月若寒 朋友你会对我的ai千呼万唤始出来,亲爱的ai姑娘,请你掀起你的盖头来! 好!我来了。读者哥哥,请听小妹妹...

推荐文章

热门文章

相关标签