兄弟组件互相传递值-this.$bus.$emit与this.$bus.$on
B组件向C组件传递一个值。
一种组件间通信的方式,
适用于任意的组件间通信。
适用于任意的组件间通信。
适用于任意的组件间通信。
通过this.$bus.$emit('事件名',数据)进行提供数据
通过this.$bus.$on('事件名',(data)=>{ })接受数据
创建一个js文件,默认导出一个vue实例
如下 aa.js
import vue from 'vue';
export default new vue();
在父级组件中 引入兄弟组件 B C
<template>
<div class="bus-A">
下面是两个兄弟组件:
<BusB />
<BusC />
</div>
</template>
<script>
//引入兄弟组件
import BusB from './BusB'
import BusC from './BusC'
export default{
data(){
return{
}
},
components:{
BusB,
BusC
}
}
</script>
//BusB 组件
<template>
<div class="bus-B">
组件B:
<label>
选择checkbox,可以触发组件BusC的监听事件
<input type="checkbox" v-model="isChecked" @change="handleCheckbox">
将B组件中的值 传递给C组件
=========================
</label>
</div>
</template>
<script>
import bus from './aa';
export default{
data(){
return{
isChecked:false
}
},
methods:{
handleCheckbox(){
//分发'getCheckboxStatus'事件
bus.$emit('getCheckboxStatus',this.isChecked,'我将将这个值从B到c');
//传递多个参数使用逗号隔开
// 分发事件可以将这个组件中的值 传递给另外一个组件
}
}
}
</script>
//BusC组件
<template>
<div class="bus-C">
组件BusC:
<p>
这里可以得到组件BusB的checkbox的值:{{isChecked}}
</p>
</div>
</template>
<script>
import bus from './aa';
export default{
data(){
return{
isChecked:false
}
},
mounted(){
// 必须在mounted中去调用一次
this.getCheckboxStatus1212();
},
methods:{
getCheckboxStatus1212(){
//监听'getCheckboxStatus'事件
bus.$on('getCheckboxStatus',(res,c) => {
//监听到BusB组件的checkbox的状态 do something...
//res, c是B组件传递过来的参数。
console.log(res,c)
this.isChecked = res;
})
}
},
beforeDestroy(){
//取消监听'getCheckboxStatus'事件
bus.$off('getCheckboxStatus');
}
}
</script>

兄弟组件互相传递值-this.$bus.$emit与this.$bus.$on的更多相关文章
- React 借助pubsub-js进行兄弟组件的传递值
1===> raect中两个 兄弟组件 互相通信使用的技术 使用 消息订阅(subscribe)和发布(publish)机制 s儿 伯 s rai b pʌ b lɪ ʃ 有一个库可以处理 Pu ...
- Vue 兄弟组件之间传递数值
Vue 兄弟组件之间传值 创建一个公用文件夹,在文件夹中设置一个事件处理中心,即 然后在需要设置值的组件中引入该事件处理中心 import Hub from '../../common/eventHu ...
- vue调用兄弟组件的方法使用vueBus调用$emit、$on(只需触发方法即可,不需要考虑传值或参数的问题)
触发方: vueBus.$emit('queryAll') 被触发方: created() { vueBus.$on('queryAll', () => { this.getList() // ...
- vue2.0 兄弟组件数据传递方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue.js 同级组件之间的值传递方法(uni-app通用)
vue.js 兄弟组件之间的值传递方法 https://blog.csdn.net/jingtian678/article/details/81634149
- vue的$emit 与$on父子组件与兄弟组件的之间通信
本文主要对vue 用$emit 与 $on 来进行组件之间的数据传输. 主要的传输方式有三种: 1.父组件到子组件通信 2.子组件到父组件的通信 3.兄弟组件之间的通信 一.父组件传值给子组件 父组件 ...
- 简述vue中父子组件是怎样相互传递值的(基础向)
前言 首先,你需要知道vue中父组件和子组件分别指的是什么? 父组件:vue的根实例——用new Vue()构造函数创建的vue实例(实例会有一个挂载点,挂载点里的所有内容可理解为父组件的内容) ...
- react - 组件间的值传递
父组件向子组件传值 父组件通过属性进行传递,子组件通过props获取 //父组件 class CommentList extends Component{ render(){ return( < ...
- vue 组件传递值以及获取DOM元素的位置信息
1.父组件 select_li.vue 1.1 父组件模板 <template> <div id='selectLi' ref="selectLi"> &l ...
- 在npm Vue单页面的环境下,兄弟组件之间通信Bus
参考1:https://www.cnblogs.com/wangruifang/p/7772631.html 参考2:https://www.jianshu.com/p/b3d09c6c87bf 在m ...
随机推荐
- web messaging与Woker分类:漫谈postMessage跨线程跨页面通信
web messaging 跨文档通信(cross-document messaging):跨就是我们国内更为熟知的HTML5 window.postMessage()应用的那种通信: 通道通信(ch ...
- Solon Web 开发,十、签权
Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...
- Feign 接口独立项目
Feign 接口独立项目,报下列错误,原因是缺少指定扫描包 [2021-05-11 22:40:07.676] [main] [WARN ] o.s.b.w.s.c.AnnotationConfigS ...
- Make、Makefile、Cmake、QMake 的区别
本博文的简述or解决问题? make makefile cmake qmake都是什么,有什么区别? 查了一下好像是编译用的,既然是编译为什么我们不用g++. javac 来编译呢?我猜答案是方便一点 ...
- Spring | 利用Maven搭建Spring的开发环境
本节主要介绍如何利用Maven搭建 Spring 开发环境,使用 Spring 之前需要安装 JDK .Maven和 IDEA 建议一定要从 Maven 项目开始,而不是从空项目开始,空项目开始会出现 ...
- 机器学习 | 分类性能度量指标 : ROC曲线、AUC值、正确率、召回率
本篇博客的图源来自 zhwhong,转载仅作学习使用! 在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度.错误率指的是在所有测试样例中错分的样例比例.实际上,这样的度量错误掩盖了样例如何 ...
- 第六届蓝桥杯(2015)C/C++大学A组省赛题解
第一题.方程整数解 答案:10 18 24,最小的为 10 int main() { ios_base::sync_with_stdio(false), cin.tie(0); for (int i ...
- 【调试】kprobes(一)基本概念
简介 开发人员在内核或者模块的调试过程中,往往会需要要知道其中的一些函数有无被调用.何时被调用.执行是否正确以及函数的入参和返回值是什么等等. 比较简单的做法是在内核代码对应的函数中添加日志打印信息, ...
- d3条形图案例
- docker查看日志:docker service logs 与 docker container logs
转载请注明出处: docker service logs 和 docker container logs 是两个不同的命令,用于查看 Docker 服务和容器的日志.以下是它们之间的区别: 1.doc ...