因此v-model是表单输入的双向绑定,它结合了v-bind和v-on:input,v-bind***将js值***带入标记,v-on:input更新js值,js值必须存在于data或inject中。 当你可以的时候使用v-model。当你必须的时候使用v-bind/v-on:-)我希望你的答案被接受了。 v-modelworks with all the basic HTML input types(文本、文本区域、数字、单选按钮、复选框、选择)。如果您的模型将日期存储为ISO字符串(yyyy-mm-dd),则可以将v-model与input type=date一起使用。如果您希望在模型中使用日期对象(一旦要操作或格式化它们,这是一个好主意),do this。 v-model有一些额外的智能,值得注意。如果您使用IME(许多移动的键盘,或中文/日语/韩语),v-model将不会更新,直到一个单词完成(输入空格或用户离开字段)。v-input将更频繁地触发。 v-model还具有修饰符.lazy、.trim、.number,这些修饰符在the doc中有所介绍。
5条答案
按热度按时间mpgws1up1#
从这里-记住:
本质上与以下内容相同:
或(简写语法):
因此
v-model
是表单输入的双向绑定,它结合了v-bind
和v-on:input
,v-bind
***将js值***带入标记,v-on:input
更新js值,js值必须存在于data
或inject
中。当你可以的时候使用
v-model
。当你必须的时候使用v-bind
/v-on
:-)我希望你的答案被接受了。v-model
works with all the basic HTML input types(文本、文本区域、数字、单选按钮、复选框、选择)。如果您的模型将日期存储为ISO字符串(yyyy-mm-dd),则可以将v-model
与input type=date
一起使用。如果您希望在模型中使用日期对象(一旦要操作或格式化它们,这是一个好主意),do this。v-model
有一些额外的智能,值得注意。如果您使用IME(许多移动的键盘,或中文/日语/韩语),v-model将不会更新,直到一个单词完成(输入空格或用户离开字段)。v-input
将更频繁地触发。v-model
还具有修饰符.lazy
、.trim
、.number
,这些修饰符在the doc中有所介绍。yc0p9oo02#
简而言之:
v-model
:双向绑定如果你改变输入值,绑定的数据也会改变,反之亦然。
v-bind:value
单向绑定可以通过更改绑定数据来更改输入值,但不能通过element_更改输入值来更改绑定数据。
看看这个简单的例子:https://jsfiddle.net/gs0kphvc/
qybjjes13#
v型
它是双向数据绑定,用于绑定html输入元素,当您更改输入值时,绑定数据也会随之更改。
v-model仅用于HTML输入元素
v型绑定
这是单向数据绑定,意味着你只能绑定数据到输入元素,但不能改变绑定的数据改变输入元素.v-bind是用来绑定html属性
例如:
<input type="text" v-bind:class="abc" v-bind:value="">
a11xaf1n4#
v-model
用于双向绑定,表示:如果你改变输入值,绑定的数据也会改变,反之亦然。但是v-bind:value
被称为单向绑定,这意味着:你可以通过改变绑定数据来改变输入值,但是你不能通过改变元素的输入值来改变绑定数据。v-model
用于表单元素。它允许您将表单元素(例如文本输入)与Vue示例中的数据对象绑定。示例:https://jsfiddle.net/jamesbrndwgn/j2yb9zt1/1/
v-bind
用于组件创建自定义属性。这允许您将数据传递给组件。由于属性是被动的,因此如果传递给组件的数据发生更改,则组件将反映此更改示例:https://jsfiddle.net/jamesbrndwgn/ws5kad1c/3/
dnph8jn45#
有时候你不想使用
v-model
。如果你有两个输入,并且彼此依赖,你可能会有循环引用的问题。常见的使用情况是如果你正在构建一个会计计算器。在这些情况下,使用监视器或计算属性都不是一个好主意。
相反,将您的
v-model
按照上面的答案进行拆分在实践中,如果您以这种方式解耦您的逻辑,那么您可能会调用一个方法。
这是它在真实的场景中的样子: