Событие Javascript Vue не имеет значения - PullRequest
0 голосов
/ 11 октября 2018

Добрый вечер,

Кто-нибудь знает, почему значение тумблера ввода переключается на обратное значение при передаче в родительский компонент?Я новичок в Vue, я работаю с ним в течение нескольких дней.Это работает в концепции, я могу видеть значение атрибута в обеих областях, используя инструменты Vue Dev.Однако дочернее значение изменяется на противоположное, когда оно передается родителю и присваивается.Я мог бы немедленно исправить это! ', Используя входящее значение, но я хотел бы выяснить, знает ли кто-нибудь, почему это происходит.

Родительское обновление Bind

updateMiddle(article){
  this.article.meta_title = article.meta_title;
  this.article.meta_desc = article.meta_desc;
  this.article.published = article.published;
  this.article.is_review = article.is_review;
}

Child Emit

methods: {
  update() {
    this.$emit('changeMiddle',this.article)
  }

Ввод

<input id="tc-review" type="checkbox" hidden="hidden" name="is_review" 
       v-model="article.is_review" v-on:input="update">

1 Ответ

0 голосов
/ 11 октября 2018

Проблема в том, что событие input срабатывает до того, как привязка v-model изменила данные.

Простое решение состоит в использовании изменения событие вместо.Например,

<input v-model="article.is_review" @change="update">

Упрощенная демонстрация ~ http://jsfiddle.net/u20h5tzv/

Подсказка : попробуйте изменить его на @input и увидеть разницу во времени.

...