Событие Javascript Vue не имеет значения

1

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

кто-нибудь знает, почему значение переключателя входного переключателя перевернуто на обратное значение при испускании родительского компонента? Я новичок в Vue, я работал с ним в течение нескольких дней. Он работает по понятию, я вижу значение атрибута в обеих областях, используя инструменты vue dev. Тем не менее, дочернее значение изменяется на обратную сторону при испускании родителя и назначении. Я мог бы немедленно исправить! Входящее значение, но я хотел бы узнать, знает ли кто, почему это происходит.

Обновление родительского обновления

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;
}

Ребенок

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">
Теги:
vue.js

1 ответ

0
Лучший ответ

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

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

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

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

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

  • 0
    Спасибо за совет. Я возьму более быстрый метод. Тем не менее, я все еще испытываю ту же проблему. Надеюсь, я делаю временное разрешение, переворачивая входящее значение. Я разместил весь код родителя и ребенка, чтобы увидеть, будет ли он более полезным.
  • 0
    Неважно, ты был прав. Я забыл запустить NPM Run Watch, чтобы применить мои изменения кода> <. Спасибо за помощь! знак равно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню