我们大多都知道父子组件之间传递事件,通常用到 子组件通过this.$emit()派发事件,父组件利用v-on对事件进行监听,实现参数的传递
那么两平等组件间的事件的传递要怎么实现呢 具体如下
这里就需要new一个调度器来完成
Vue.prototype.bus = new Vue() //这个调度器我把他定名为bus,并且把它挂载在vue原型上。 在main.js文件下
下面这个是需要传递事件的组件写法
<span class="btn" @click="getInput()">SEARCH</span>
getInput() {
this.bus.$emit("getInput", this.searchInput);
},
下面这是需要接受传递事件组件里面的写法
//监听nav中的搜索事件
this.bus.$on("getInput", data => {
//这里的data就是传递过来的 searchInput
});