怎样注册微信小程序_vue 使用eventBus完成同级组件的通讯

vue 使用eventBus实现同级组件的通讯       这篇文章主要介绍了vue 使用eventBus实现同级组件的通讯,需要的朋友可以参考下

新创建一个vue实例用于调度事件的绑定和发送

可以做到同级组件相互通讯,传递参数,点击第一个组件会修改第二个组件的label值,点击第二个组件会修改第二个组件的label值

 !DOCTYPE html 
 html lang="en" 
 head 
 meta charset="UTF-8" 
 script src="vue.js" /script 
 /head 
 body 
 div id="app" 
 one /one 
 two /two 
 /div 
 /body 
 script 
 // 使用一个vue实例 作为事件的载体,用于绑定事件和处理发送事件,作为调度中心
 let eventBus = new Vue()
 let one = {
 template: ' div {{val}} button @click="click" click /button /div ',
 data() {
 return {
 val: 0
 created() {
 //为one绑定事件,如果two_click事件发生了,则执行回调函数
 eventBus.$on('two_click',
 (val) = {
 // 这个this 指的是one的vue实例
 this.val = val
 methods: {
 click() {
 // 如果one被点击了,则发送一个one_click的事件,并传递一个参数
 eventBus.$emit('one_click', 11)
 let two = {
 template: ' div {{val}} button @click="click" click /button /div ',
 data() {
 return {
 val: 0
 created() {
 eventBus.$on('one_click',
 (val) = {
 this.val = val
 methods: {
 click() {
 eventBus.$emit('two_click', 22)
 new Vue({
 el: '#app',
 components: {
 one,
 /script 
 /html 

总结

以上所述是小编给大家介绍的vue 使用eventBus实现同级组件的通讯,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对凡科网站的支持!