# 非父子組件通信
工作中如果遇到兄弟組件或者跨組件間傳遞數據又該如何傳遞信息呢?可以通過 “中央事件總線” 來解決。當然后面還有`store模式`以及`Vuex`來進行解決組件通信問題。
# Vue-Bus中央事件總線
`中央事件總線`就像是公交車一樣,每個`公交站`就相當于一個組件,公交車可以通過每個公交站,就相當于中央事件總線可以串聯起所有的公交站。
:-: 
對于非父子組件之間,如兄弟組件,跨組件之間的數據操作。單擊 **組件1按鈕** ,操作**組件按鈕2**的功能觸發。
:-: 
```
<div class="container" id="app">
<com1></com1>
<com2></com2>
</div>
<script src="js/vue.js"></script>
<script>
//中央數據總線
//vue-bus
var bus = new Vue();
var com1 = {
template:`<button @click="myalert()">組件1</button>`,
methods:{
myalert(){
bus.$emit('xxx');
}
}
}
var com2 = {
template:`<button>組件2</button>`,
mounted(){
bus.$on('xxx',function () {
alert(1)
})
}
}
var vm = new Vue({
el:"#app",
components: {
com1,
com2
}
})
</script>
```