【发布时间】:2020-03-18 00:02:54
【问题描述】:
我有一个 Vue 应用程序,其中父组件需要发出一个事件,它在一个按钮中执行此操作:
<button @click.prevent="saveTradeClick" class="btn btn-primary">Save</button>
它触发一个方法:
saveTradeClick: function (event) {
console.log("click");
this.$emit('SAVE');
console.log("after emit");
},
子组件应该监听这个事件来触发一个方法。
mounted() {
this.$parent.$on('SAVE', this.submitTrade);
}
这不起作用。我得到了console.log('click'); 但是,我从子组件中一无所获。
当我查看 Vue 开发工具时,我收到了一个 $emit 事件,但仅此而已。有什么想法我可以用这个吗?
【问题讨论】:
-
您是否确保在父级发出事件时子级已挂载?
-
这样干净多了。 Vue.prototype.$eventHub = new Vue()
标签: vue.js