关于双向数据绑定
Vue还提供了v-model指令,它能轻松的实现表单输入和应用状态之间的双向数据绑定。
v-model属性的值是一个数据的变量,如果数据的值发生变化,会影响input的值,input的值的变化同时会影响数据的变化。
v-model指令的基本使用
说明:
1、当修改数据message里的内容时,input输入框中的内容就会发生变化。
2、当修改输入框中的内容时,数据也会自动发生变化。
v-model实际上的拆解原理
通过动态绑定插值中的msg变量,监听input输入框的值改变,利用e.target.value拿到输入框文本的值,然后将其重新赋给实例对象中的msg变量。
checkbox上使用 v-model
如果v-model绑定的是一个字符串,咱们绑定的值,会转成布尔值。
选中就是true,不选择就是false。
checkbox数组收集数据的情况说明
数组是用来收集数据的
1、checkbox没有val值,绑定的是非数组,转成布尔值。
2、没有值,但是绑定的是数组,如果选中,数组收集的数据是null。
3、有value值,但是绑定的非数组,都会转成布尔值,不会收集数据。
4、有value值,绑定的是数组,选中,数组收集value的值,未选中不收集数据。
模拟用户选中选项进行保存,然后从后台取数据进行页面渲染的操作:
radio单选
说明:
1、单选radio 不会将双向绑定的值转为布尔值,因为单选本来就是为了收集数据。
2、单选只收集一个数据,因此不会向多选一样用数组去收集数据。
只用同一组的单选按钮才会有互斥功能
同样的,如果我们使用的v-model双向数据绑定动态收集选按钮数据,单选按钮也会自动变为互斥的。