如何在不使用“ params”的情况下在Vue同级组件之间传递值?

时间:2018-12-01 23:10:35

标签: javascript vue.js

目前我有2个组成部分:

  • Proyectos.vue
  • Reuniones.vue

位置:

  • Proyectos :这是我在应用程序开头显示的组件,其中显示了项目列表。

  • Reuniones :这是显示项目会议列表的组件。

在Proyectos组件中,我发出一个(defvar my-mode-font-lock-keywords '(("\\[\\s-*\\([^\][:space:]]+\\)" (1 font-lock-function-name-face)))) (define-derived-mode my-mode prog-mode "MyMode" (setq-local font-lock-defaults '(my-mode-font-lock-keywords))) 请求,该请求返回一个对象数组,即proyectos。通过此项目列表,我可以填写表格。

Proyecto对象结构:

GET

对于每个表格行,我都有一个项目javascript对象,我想在单击按钮时将其发送到 { objetivo:"", fecha: "", reuniones: [ { titulo: "", fecha: "" }, { titulo: "", fecha: "" }] } 组件。进入Reuniones组件后,我将执行某些操作,例如对其进行迭代。

enter image description here

决定不使用参数

我正在寻找一种方法,不必通过网址发送Reuniones,而不必创建该对象的新Id。我想使用Proyectos组件中已经计数的对象。

尝试使用事件

我尝试使用get$emit使用事件,但是由于尚未加载Reuniones组件,所以我听不到从Proyectos组件发送的事件。

Proyectos.vue:

$on

Reuniones.vue

projectSelected (project) {
     // I issue an event with the project object
     this.$root.$emit ('send', project)
     // I call the route 'reuniones' to load the Reuniones.vue component
     this.$router.push('reuniones')
}

我要寻找的行为是能够在组件之间使用对象。

1 个答案:

答案 0 :(得分:0)

我认为您可能会考虑称为eventBus的全局状态,您可以here了解它

它将允许您为get请求创建make there方法,并使用计算的属性或观察者监视.vue实例上的更改