博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue兄弟组件之间的通信(bus.js)方法
阅读量:4952 次
发布时间:2019-06-11

本文共 871 字,大约阅读时间需要 2 分钟。

如题:有组件A,组件B,

组件A用函数(方法)触发组件B中的函数(方法)

1.需要新建一个js文件:bus.js

2.两个组件都需要引用这个js文件:

import bus from "../assets/bus.js";
我的js文件是放在根目录下的assets文件夹下,
bus文件代码如下:
import Vue from 'vue'export default new Vue

 

 
3.A组件新建一个方法(函数)例如:
closeoropenLeftnav() {      if (this.IsShowLeft) {        this.IsShowLeft = false;        this.className = "GkCloseOrOpen";      } else {        this.IsShowLeft = true;        this.className = "";      }      bus.$emit("IsCollapse", this.IsShowLeft);    }

关键代码:

bus.$emit("IsCollapse", this.IsShowLeft);
 this.IsShowLeft:这个是A组件要传给B组件的值
4.B组件需要接收A组件传来的参数,然后进行处理,代码如下:
created() {    bus.$on("IsCollapse", propMsg => {        this.isCollapse = propMsg;      })  },
关键代码:
bus.$on("IsCollapse", propMsg => {
this.isCollapse = propMsg;
}),
propMsg 就是A组件出来的参数,这样就可以在钩子里控制B组件的变量,然后触发B主键的页面效果了.
也可以使用状态管理来传递参数,我们下次讨论。

转载于:https://www.cnblogs.com/PiaoYu/p/11386373.html

你可能感兴趣的文章
怎么将iphone上的照片导出到本地文件
查看>>
Repeater+DataPagerSource分页
查看>>
模块化导出
查看>>
pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页
查看>>
Sphinx 2.0.8 发布,全文搜索引擎 Installing Sphinx on Windows
查看>>
pod
查看>>
ResultSet 可滚动性和可更新性
查看>>
iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
查看>>
LUOGU P2986 [USACO10MAR]伟大的奶牛聚集Great Cow Gat…
查看>>
toad for oracle中文显示乱码
查看>>
scala的REPL shell的调用
查看>>
SQL中Group By的使用
查看>>
错误org/aopalliance/intercept/MethodInterceptor解决方法
查看>>
Pylint在项目中的使用
查看>>
使用nginx做反向代理和负载均衡效果图
查看>>
access remote libvirtd
查看>>
(4) Orchard 开发之 Page 的信息存在哪?
查看>>
ASP.NET中 GridView(网格视图)的使用前台绑定
查看>>
图像加载
查看>>
关于zxing生成二维码,在微信长按识别不了问题
查看>>