简单说,区别如下:
v-bind
用来绑定数据和属性以及表达式,缩写为’:
‘v-mode
l使用在表单中,实现双向数据绑定的,在表单元素外使用不起作用
1 v-model
v-model
多在表单中使用,在表单元素上创建双向绑定,根据控件类型选择正确的方法更新元素,可以绑定text
、radio
、checkbox
、selected
1.1 绑定text
1 | <input type="text" v-model="val" /> |
1.2 绑定radio
1 | <input type="radio" value="one" v-model="radioVal" /> |
radioval
的值随着选择单选框的值,会变成one
或者 two
1.3 绑定checkBox
(1)单个勾选框,最终的值为逻辑值true
和false
1 | <input type="checkbox" v-model="checkVal"/> |
(2)多个勾选框时,将值绑定到一个数组
1 | <input type="checkbox" value="apple" v-model="checkArray"/> |
checkArray
中的值会根据是否选中进行关联变化
1.4 绑定select
(1)绑定到单个select
(2)绑定多个select
时,同样适用数组
1.5 增加参数
(1)lazy
将输入框的input
事件改为change
事件,使得输入框在change
事件中更新而不是input
关于change
事件和input
事件的区别,简单说来是:change
事件必须是在输入框失去焦点之后才会触发,而input
事件可以实时监测。
(2)number
将文本框输入的值都变为数字,如果是变为数字之后是NAN
,则返回原始值
(3)debounce
给输入框加一个很小的延迟,设置一个最小的延时,在每次敲击之后延时同步输入框的值与数据。如果每次更新都要进行高耗操作(例如在输入提示中 Ajax
请求),它较为有用。
注意 debounce
参数不会延迟 input
事件:它延迟“写入”底层数据。因此在使用 debounce
时应当用 vm.$watch()
响应数据的变化。若想延迟 DOM
事件,应当使用 debounce
过滤器。
2 v-bind
2.1 绑定文本
直接用v-bind
或者{{}}
1 | <p v-bind="message"></p> |
2.2 绑定属性
1 | <p v-bind:src="http://...."></p> |
2.3 绑定表达式
1 | {{ number + 1 }} |
2.5 绑定html
1 | <div>{{{ raw_html }}}</div> |
这个时候必须要使用三个{}
Reference
- https://segmentfault.com/a/1190000014813168
- https://v1-cn.vuejs.org/guide/forms.html
- https://blog.csdn.net/qq_39611230/article/details/106854178
写在最后
欢迎大家关注鄙人的公众号【麦田里的守望者zhg】,让我们一起成长,谢谢。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment