为了账号安全,请及时绑定邮箱和手机立即绑定

vue input校验实现输入框实时更新遇到的问题

vue input校验实现输入框实时更新遇到的问题

倚天杖 2019-02-22 22:19:19
问题描述,在使用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赋值第一次有效果后面无效**
查看完整描述

2 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

用v-model


查看完整回答
反对 回复 2019-02-27
  • 2 回答
  • 0 关注
  • 5142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信