非父子组件(例如兄弟组件)之间传值的方式,可以用vuex,也可以用事件总线,已下是事件总线(vue-bus)的介绍: 1、安装 2、注册 在main.js中注册 3、使用 A页面传递给B也页面: A页面中,触发了一个叫toBPage的事件,并传递了参数'hello ...
在Vue开发中会遇到大量的组件之间共享数据的情形,针对不同的情形,Vue有相对应的解决方案。比如,父组件向子组件传值可以使用props,复杂项目中不同模块之间传值可以使用Vuex。但是,对于一些简单的项目里的非父子组件来说,它们一方面不适用props,另一方面又没有必要使用Vuex,针对这种情形可以使用中央事件总线 Event Bus 来解决问题。 创建中央事件总线 可以使用多种形式创建Even ...
2018-09-29 10:26 0 3614 推荐指数:
非父子组件(例如兄弟组件)之间传值的方式,可以用vuex,也可以用事件总线,已下是事件总线(vue-bus)的介绍: 1、安装 2、注册 在main.js中注册 3、使用 A页面传递给B也页面: A页面中,触发了一个叫toBPage的事件,并传递了参数'hello ...
代码结构:首先HeaderNav组件是被单独拎出来的,router-view中就对应了内容组件,由于有时候i有的界面的header内容是不一样的,因此要用到兄弟组件的相互通信,这个时候我首先选择了bus[中央事件总线] <div class="" v-if="!showScan ...
中央事件总线 - 就是一个名字可以叫做bus的vue空实例,里边没有任何内容; 人如其名,她就像一个公交车一样,来回输送人,将a站点的A输送到b站点,再将b站点的B输送到a站点; 这里a,b站点就像父、子组件,也像兄、弟组件,或者像两个没有任何亲戚关系的任何组件; 而A,B就像 ...
公共事件总线eventBus的实质就是创建一个vue实例,通过一个空的vue实例作为桥梁实现vue组件间的通信。它是实现非父子组件通信的一种解决方案。 用法如下: 第一步:项目中创建一个js文件(我通常给它取个名字为bus.js),引入vue,创建一个vue实例,导出这个实例,代码如下(一共 ...
公共事件总线eventBus的实质就是创建一个vue实例,通过一个空的vue实例作为桥梁实现vue组件间的通信。它是实现非父子组件通信的一种解决方案。 用法如下: 第一步:项目中创建一个js文件(我通常给它取个名字为bus.js),引入vue,创建一个vue实例,导出这个实例,代码如下(一共 ...
公共事件总线eventBus的实质就是创建一个vue实例,通过一个空的vue实例作为桥梁实现vue组件间的通信。它是实现非父子组件通信的一种解决方案。 用法如下: 第一步:项目中创建一个js文件(我通常给它取个名字为bus.js),引入vue,创建一个vue实例,导出 ...
中央事件总线事件多次触发-----BUS是全局的,每次切换路由(我是在动态组件中)再次执行函数的时候都会在BUS中再注册一次,push进相同事件名里边,如下图,多次切换路由就会导致同名事件多次注册---多次触发。 解决:在组件的beforeDestroy或destroy中注销掉监听和发送的事件 ...
在vue中,我们父子之间通信简单明了: 父组件向子组件传值: props, 在父组件中,用 :要传递过去的名字 = “ 要传递的值 ”。 在子组件中 使用props:{}接受即可 子组件向父组件传值:$emit. 通过自定义方法, 在子组件中,我们使用this. ...