vue.js的非父子组件通信,利用空Vue做中央事件总线。能举个例子吗,不是很懂官网上的例子。

// 在组件 B 创建的钩子中监听事件
bus.$on('id-selected', function (id) {
  // ...
})

这一段不是很懂,是指下面的意思吗

Vue.component('B', {
     methods: {
        listen: function() {
            bus.$on('id-selected', function (id) {
              // ...
            })
        }
    }
})
阅读 12k
4 个回答
<div id="app">
    <c1></c1>
    <c2></c2>
</div>
var Bus = new Vue();
Vue.component('c1',{
  template:'<div>{{msg}}</div>',
  data: () => ({
    msg: 'Hello World!'
  }),
  created() {
    Bus.$on('setMsg', content => {
      this.msg = content;
    });
  }
});
Vue.component('c2',{
  template: '<button @click="sendEvent">Say Hi</button>',
  methods: {
    sendEvent() {
      Bus.$emit('setMsg', 'Hi Vue!');
    }
  }
});
var app= new Vue({
    el:'#app'
})

Vue.js——60分钟组件快速入门http://www.cnblogs.com/keepfool/p/5637834.html

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题