提示:该文章为笔者的个人笔记并不是权威,如有错误,谢谢指出。
数据绑定
Vue中有两中数据绑定方式,单向数据绑定和双向数据绑定。v-bind就是一个单向数据绑定,顾名思义数据的传输的单向的,只能从data中流向页面。v-model在表单元素上创建双向数据绑定,数据不仅能从data中流向页面,也能从页面中流向data。
一、单向数据绑定
<div id="root">
单向数据绑定:<input type="text" v-bind:value="name">
</div>
<script>
new Vue({
el: '#root',
data: {
name: '小爱同学'
}
})
</script>
当数据在表单中修改时,data中的数据不会发生任何变化。
二、双向数据绑定
<div id="root">
单向数据绑定:<input type="text" v-model:value="name">
</div>
<script>
new Vue({
el: '#root',
data: {
name: '小爱同学'
}
})
</script>
当数据在表单中修改时,data中的数据与之发生变化。
总结
(1)v-model 指令在表单 <input>
、<textarea>
及 <select>
元素上创建双向数据绑定。
(2)v-model 会忽略所有表单元素的 value
、checked
、selected
的初始值而总是将 Vue 实例的数据作为数据来源。因此v-model:value通常可以可以缩写为v-model。
(3)对于需要使用输入法 (如中文、日文、韩文等) 的语言,你会发现v-model 不会在输入法组合文字过程中得到更新。