Могу ли я отправить пользовательское событие от слушателя eventBus? - PullRequest
0 голосов
/ 05 июля 2019

У меня есть следующие компоненты Vue:

data: function() {
    return {
      quotes: []
    };
  },
  created() {
    eventBus.$on("quoteWasAdded", message => {
      this.quotes.push(message);
      this.$emit("quotesWereUpdated", this.quotes);
    });
  }

То, чего я хочу достичь, - это когда массив кавычек обновляется, он создает пользовательское событие, чтобы я мог использовать его для родителя или других братьев и сестер.

Я пытаюсь использовать его на родительском компоненте, но он возвращает неопределенное значение

Родитель:

<template>
  <div class="container">
    <p>{{messages.length}}</p>
    <quote-header></quote-header>
    <new-quote></new-quote>
    <quotes @quotesWereUpdated="messages = $event"></quotes>
  </div>
</template>

1 Ответ

0 голосов
/ 05 июля 2019

Я бы попробовал что-то вроде этого:

<quotes @quotesWereUpdated="updateMessages"></quotes>

затем объявите метод:

    updateMessages (data) {
      this.messages = data
    }
...