温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Vue兄弟组件通信

发布时间:2020-04-05 06:17:01 来源:网络 阅读:289 作者:wx5d7b29473040d 栏目:web开发

Vue兄弟组件通信之借助中央事件总线

下载链接:百度网盘

其实要实现兄弟组件通信,就算是通过父子组件通信的方式也是可以达到的,如 子 ——>父——>子;

在这里呢,就不对这种方式进行赘述,下面给大家介绍——借助中央事件总线。

第一步:

在 组件文件夹中,创建一个js文件,这里将其命名为“bus,js”,在里面写入如下代码:

import Vue from 'vue';
const Bus = new Vue();
export default Bus;

第二步:

假如组件a.vue 和 组件b.vue是兄弟组件,那么分别在两个.vue文件里,引入bus.js,写法如下:

import Bus from './bus.js'

引入的具体路径按照实际的项目写,这里bus.js是和.vue文件同级。

第三步:

假如我们要实现a.vue传值给b.vue,则在a.vue中,恰当的地方,比如某事件触发后,或者mounted之类的生命周期中都行,写入:

Bus.$emit("事件名",要传的数据);
第四步:

在b.vue的mounted中写入:

Bus.$on('事件名',res=>{
console.log(res)//传过来的数据
})
传过来的数据可以是一个变量,也可以是一个对象、数据。

到此,通信结束。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI