eventBus
兄弟组件通讯
1.创建vue空实例
// 在eventBus.js文件里面创建一个vue的空实例
// eventBus.js
import Vue from 'Vue'
var bus = new Vue()
export default bus
2.A组件内触发事件
// A.vue
<template>
<div>
<button @click="add">add</button>
</div>
</template>
<script>
import bus from './eventBus'
export default {
data() {
return {
num: 0
}
},
methods: {
add() {
this.num ++
bus.$emit('busAdd', this.num)
}
}
}
</script>
3.B组件监听事件
// B.vue
<template>
<div>
num: {{num}}
</div>
</template>
<script>
import bus from './eventBus'
export default {
data() {
return {
num: 0
}
},
created() {
bus.$on('busAdd', val => {
this.num = val
})
}
}
</script>
Last updated