vue.js - 为什么 Vue 的 v-model 在点击事件触发后更晚才更新数据?

标签 vue.js vuejs2 vue-component v-model vue-directives

我有一个非常小的复选框组件,我试图通过 @click 事件监听它。但v-model数据更新比事件回调晚7ms。因此,我必须删除 @click 监听器并添加检查值的计算属性/方法,并为其添加监视方法以 $emit 更新的检查值。这样效果很好。但我只是想了解幕后发生的事情。有人可以解释一下吗?或者也许引用网上的好资源?

我在Vue的源代码中也找不到v-model方法。在node_modules中哪里可以找到v-model相关的代码?

最佳答案

您应该尝试使用@change,然后打印它进行测试。例如:

<input 
     type="checkbox" 
     v-model="item" 
     @change="sendEvent"
/>
sendEvent () {
     this.$emit('click', this.item);
},

关于vue.js - 为什么 Vue 的 v-model 在点击事件触发后更晚才更新数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60835682/

相关文章:

vue.js - Vue.js 中的嵌套组件 : Failed to mount component: template or render function not defined

vue.js - 使用 router.beforeEach 时 Vue 路由器 View 不呈现

javascript - VueJS Prop - 如何避免 "class"属性继承?

javascript - 如何在 VueJS 中格式化(可能为空/空)日期

javascript - Nuxt : displaying local image from static folder

javascript - 有没有办法在右键单击时在任何元素中添加 "paste"选项

javascript - 从输入中解开文本字段的图标单击启用

vue.js - 在单元测试中抑制 Vue 警告

javascript - 在 Vue.js 单文件组件中使用 jQuery 插件

javascript - 如何获取所有已注册的 Vuex 模块