问题描述,在使用vue input校验输入内容并且实时更新输入框不生效<div class="app"> <input v-bind:value="something" v-on:input="update"></div> var app = new Vue({ el: ".app", data: { something: '123' }, methods: { update: function (e) { this.something = 111; //只会第一次输入后生效 e.target.value = 111; //如果不手动将value设置111,不会实时更新input } } })**问题在于,使用this.something = 111这一句后,在第一次输入时,input中内容确实变成了111但是随后的输入input中的内容就不是111了,随着输入内容改变了(难道第一次出发了watcher,随后缓存了?是为了避免每次input更改触发watcher而引起的性能损耗么?),只有手动设置e.target.value = 111才能生效,所以为什么会第一次生效而后不会生效呢?****新增:重申下,我问的不是实现方式,而是为何会出现这种现象的原因,不要再说什么v-model,v-model就是:value="som" @input="som = $event.target.value" 的语法糖,其中som = $event.target.value其实就是等于上面的e.target.value = 111,问题在于为何直接为data赋值第一次有效果后面无效**
添加回答
举报
0/150
提交
取消