Vue.js 是否可以从安装在Vuejs中的设备发射?

Vue.js 是否可以从安装在Vuejs中的设备发射?,vue.js,vuejs2,vue-component,Vue.js,Vuejs2,Vue Component,我很熟悉通过总线在事件上发送数据,这些工作非常好,但现在我想发送一些东西,但我没有一个事件来绑定它 我尝试在挂载机上发射,但效果不理想,如下所示: mounted(){ bus.$emit('send-test', this.test); }, 当在父级的装入的生命周期事件中为在子级的装入的事件中发出的事件添加事件处理程序时,处理程序将不会捕获子级发出的事件,因为该处理程序是在子级已发出事件之后添加的。基本上,事件的循环是这样的 父母的创造 儿童创造 童装 父母的 显然还有其他发生的生命周

我很熟悉通过总线在事件上发送数据,这些工作非常好,但现在我想发送一些东西,但我没有一个事件来绑定它

我尝试在挂载机上发射,但效果不理想,如下所示:

mounted(){
  bus.$emit('send-test', this.test);
},

当在父级的
装入的
生命周期事件中为在子级的
装入的
事件中发出的事件添加事件处理程序时,处理程序将不会捕获子级发出的事件,因为该处理程序是在子级已发出事件之后添加的。基本上,事件的循环是这样的

  • 父母的创造
  • 儿童创造
  • 童装
  • 父母的
  • 显然还有其他发生的生命周期事件,但在本例中,这就是重要的顺序


    如果要处理在子级中发出的事件,则需要在子级的
    装入
    事件之前创建处理程序(调用$on)。

    这可能也很有用,它解决了我的一个问题。:)

    就是这样用的

    mounted(){
    此.$nextTick(函数(){
    //仅在渲染整个视图后运行的代码
    })
    }
    
    它怎么不起作用?这应该可以正常工作。我怀疑你不能发射挂载,因为你需要一个事件?如果我将它连接到手表中的事件,它可以正常工作。您可以在挂载时发射。这很奇怪。我需要发出的数据实际上来自计算属性。是否可能在装入时不可用?计算值在装入时可用@伯特:你能举个例子(说到最后一点)吗?我不太明白你的意思。@phil,基本上这是答案的重点;最初的问题是,当父级添加处理程序以捕获父级装载的生命周期处理程序中的事件时,为什么父级不捕获子级发出的事件。这一点太晚了。如果要捕获在子级的创建或装载生命周期中发出的事件,必须在父级的创建生命周期事件中添加处理程序。