Javascript Vue 事件不发出值

Javascript Vue Event Emit Not Value

晚上好,

有谁知道为什么输入切换开关值在发射到父组件时被翻转为反向值?我是 Vue 的新手,我已经断断续续地使用它几天了。它在概念上是有效的,我可以使用 vue 开发工具在这两个区域中看到属性的值。但是,子值在发送给父级并分配时会反转。我可以通过 !'ing 传入值立即修复,但我想知道是否有人知道为什么会发生这种情况。

父更新绑定

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">

问题是 input 事件在 v-model 绑定更改数据之前 触发。

简单的解决方案是改用 change 事件。例如

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

简化演示 ~ http://jsfiddle.net/u20h5tzv/

提示:尝试将其改回@input并查看时间差异。