我可以从标题中触发另一个组件上的功能吗?

时间:2018-08-21 13:47:11

标签: javascript events vue.js vuejs2

您好,我对vue路由以及树的工作方式有疑问。我的路由器是我的路由器,我的路由器视图和标头在同一级别。

我有一些功能想从我的标头触发到路由器视图中称为仪表板的路由

例如: header.vue

<a href="#" @click.prevent="update()"> click me to update dashboard </a>

dashboard.vue

<p> {{datafrom filldata}} </p>

  methods: { 
   fillDataToP() {
    function to fill data
   }
  }

这有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以在vuejs中使用EventBus功能。

在您的main.js文件中添加

const EventBus = new Vue()

Vue.prototype.$bus = EventBus;

现在您可以从header.vue文件中发出事件:

示例this.$bus.emit('someString', SomeObjectToPass);

然后在您的Dashboard.vue上,您可以使用以下方法收听事件:

this.$bus.on('sameStringAsInEmit', () => {

// Fill Data

})