我正在使用VueJS并希望在.Vue组件中触发一个方法。事件总线正常工作。我根据这篇文章创建了这个:https://alligator.io/vuejs/global-event-bus/
在eventbus函数中,我想从组件中调用方法。我怎样才能做到这一点?我试过this.doSearch(),但这不起作用。有什么建议吗?
//Event listener
EventBus.$on('i-got-searched', search => {
if (!(search === undefined || search === null)) {
console.log(`Debug: ${search}`)
}
});
//Component
export default {
methods: {
doSearch(input) {
console.log(input);
}
}
}
答案 0 :(得分:0)
使用Vue的ref指令应该适合你:
<search-comp ref="search"></search-comp>
然后在你的eventbus中使用:
var search = parent.$refs.search;
search.doSearch(val);
这是一个有效的演示: https://codepen.io/egerrard/pen/vpJdQJ