Vue.js 将数据从子组件传递到子组件Vuejs 2

Vue.js 将数据从子组件传递到子组件Vuejs 2,vue.js,components,Vue.js,Components,我误解了将子组件传递给其他子组件的文档 我有两个部分 index.html <main-categories-products source="{{ url('api/products') }}"> </main-categories-products> <sidebar-options> </sidebar-options> MainCategoriesProducts.vue import Vue from 'vue' var bus =

我误解了将子组件传递给其他子组件的文档

我有两个部分

index.html

<main-categories-products source="{{ url('api/products') }}">
</main-categories-products>

<sidebar-options> </sidebar-options>
MainCategoriesProducts.vue

import Vue from 'vue'
var bus = new Vue()
    export default{
        props: ['source'],
        created(){

            this.fetchedProduct()
        },
        methods: {

            fetchedProduct: function(){


                        var data = [1,2, 3];

                        bus.$emit('did-something', data);


            }
        }
    }
我的SidebarOptions.vue

import Vue from 'vue'
    var bus = new Vue()

    export default{

        data(){

            return {

                someData: {}
            }
        },

        created(){

            bus.$on('did-something', data => this.someData = data);
            console.log(this.someData)

        }
    }

没有错误,但我无法从MainCategoriesProducts到SidebarOptions获取数据。如何获取这些数据=[1,2,3]?TY

您正在创建两个不同的总线,您应该只创建一个

在app.js中添加以下内容

window.bus = new Vue();
移除

var bus = new Vue()

来自您的每个组件。

@Rbex很乐意帮助:)
var bus = new Vue()