使用Bus.js进行兄弟(非父子)组件通信
2024-09-01 07:31:01
首先需要在任意地方添加一个bus.js;
在bus.js里面 写入下面信息
import Vue from 'vue'
export default new Vue;
在需要通信的组件都引入Bus.js
如果你的bus.js是自定义一个bus的文件那from后面就改成你的所放的位置
import Bus from './bus.js'
接下来就是要组件通信了
添加一个 触发 #emit的事件按钮
<template>
<div id="emit">
<button @click="bus">按钮</button>
</div>
</template> import Bus from './bus.js'
export default {
data() {
return {
message: ''"
}
}, methods: {
bus () {
Bus.$emit('msg', '我要传给兄弟组件们,你收到没有')
}
}
}
打开要和$emit通信的另外一个组件
在钩子函数中监听msg事件
<template>
<div id="on">
<p>{{message}}</p>
</div>
</template> import Bus from './bus.js'
export default {
data() {
return {
href: 'www.dddddd//d/d/d'
}
},
mounted() {
$("body").on("click",".router_itme",function(){
//发送方
Bus.$emit("hrefs", this.href);
})
}
}
打开要和$emit通信的另外一个组件 ,在钩子函数中监听msg事件
<template>
<div id="on">
<p>{{message}}</p>
</div>
</template> import Bus from './bus.js'
export default {
data() {
return {
href : ''
}
},
mounted(){
// this.href = location.href.split('#')[1]
// 接收传header组件传过来的路径
let self = this;
Bus.$on('hrefs', (e) => {
self.href = e.split('#')[1]
})
}
}
最新文章
- 使用po模式读取豆瓣读书最受关注的书籍,取出标题、评分、评论、题材 按评分从小到大排序并输出到txt文件中
- 我的css笔记
- 用Python做自然语言处理必知的八个工具【转载】
- No connection string named &#39;***&#39; could be found in the application config file
- struts2视频学习笔记 01-02
- Java语言编码规范(Java Code Conventions)
- Ruby中的Profiling工具
- ios7 sdk 新特性
- TS流文件
- Dynamics 365 Online-Unified User Interface
- DES和3DES加密算法C语言实现【转】
- java操作elasticsearch实现基本的增删改查操作
- IOC容器特性注入第七篇:请求上下文作用域
- Mysql5.6 for Centos6.5源码编译安装
- react native中的聊天气泡以及timer封装成的发送验证码倒计时
- 开源项目:MMTweenAnimation
- [Java学习] 强调一下编程风格
- Selenium之IE浏览器的启动问题及解决
- 【Git】二、安装配置
- 再也不怕aop的原理了
热门文章
- Redis 缓存穿透,缓存击穿,缓存雪崩的解决方案分析
- 12.GIT多人协作
- Nginx反向代理服务器安装与配置
- thinkcmf安装教程与目录结构详解 快速上手版
- Openstack(七)keystone
- [py][mx]django实现根据城市和课程机构类别过滤
- cocos代码研究(12)UI之Widget学习笔记
- 2017-2018 ACM-ICPC East Central North America Regional Contest (ECNA 2017) Solution
- jQuery获取不到隐藏DIV的高度和宽度
- monit拉起服务