vue.js v-model赋值

<input class="bg-yellow j_select" name="" id="originCountry" data-check="imp" type="text" data-options="dataSourceMethod:BaseDataDao.getCurrency,onSelect:function(data){this.val(data.name+'('+data.code+')');this.next().next().val(data.code).next().val(data.name);}" />
                            <i></i>
                            <input v-model="customForm.TransMode"  id="oriCtryCode" name="" type="text" />
                            <input v-model="customForm.TransModeName" id="oriCtryName" name="" type="text" />

为什么我用jquery给input的value赋值了,但是customForm.TransMode却没有值,如何给input赋值的同时给customForm.TransMode赋值

阅读 18.1k
4 个回答

简单来说,用了v-model后,你改变customForm.TransMode的值,输入框的内容也会跟着变,反之,当你修改了输入框的内容,customForm.TransMode的值也是会同步变的。另外,和 @WarMarX 说的一样,vue是不推荐对dom直接进行操作的,具体的可以看看文档。

你可以在data里面定义一个属性,比如TransModeData:"",然后在input绑定

<input v-model="TransModeData"  id="oriCtryCode" name="" type="text" />

不要用这样的方式:

<input v-model="customForm.TransMode"  id="oriCtryCode" name="" type="text" />

value和v-model的本质是不同的,你应该赋值的是Vue对象下的customForm.TransMode,而不是去赋值value。你对vue的了解还不够深刻,建议先去看一下vue的文档,而且使用了vuejs,其实不建议再使用jquery

用了 v-model='xxx', 双向绑定, 要赋值直接改xxx就好了,想不懂为啥还要jq单独改变input value 的值,
你要改值赋值直接改动xxx就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题