Событие генерации Vue js не срабатывает, и код выглядит нормально

#vue.js #vuejs2

#vue.js #vuejs2

Вопрос:

Мое событие эмиссии перестает работать, и я не могу понять почему.

У меня есть этот метод в дочернем компоненте

 registerVote(){
      this.voted = true;
      this.voted_now = true;
      console.log('vote')
      this.$emit('voted', this.response.data.challenge_id);
    }
  

Оно запускается после выполнения обещания, и я могу прочитать в консоли «голосование»

В родительском компоненте у меня есть

 <imageVote :closed='image_set.closed' :images='sortedImages' :challenge_id="image_set.id" @voted="registerVote"></imageVote>
  

И затем мой метод

 registerVote: function (value){
      console.log('event')
      this.$store.commit('addCookie', value)
      var cookie_name = this.$store.state.challengeID   "_master_click_votes"
      this.$cookie.set(cookie_name, JSON.stringify( this.$store.state.cookies))
      this.$eventHub.$emit('refreshScore');
    }
  

Метод не запускается: почему?

Комментарии:

1. Можете ли вы предоставить рабочий пример, подобный jsFiddle или codePen? Вы видите какую-либо ошибку в консоли?

2. Я попробовал эмиссию и зарегистрировал ее в родительском компоненте, как в вашем коде. Все работает так, как ожидалось. Является ли ваш дочерний компонент непосредственно внутри родительского компонента?

3. @WebMan да… я пробую также с шиной событий, та же ошибка. Это тот же код, который я использовал в прошлом году, но теперь он перестал работать.

4. @RobertoPezzali вы упомянули, что после обещания выполняется этот метод. this.$emit('voted', this.response.data.challenge_id); Вы регистрировались this.response.data перед отправкой, просто чтобы убедиться, что есть данные? Может быть, нет данных и нет challenge_id и приложение вылетает.