一、v-model的使用场景
针对与form表单的input,select,radion,checkbox等一些表单控件
二、Vue使用v-model实现双向绑定
v-model其实是Vue中一个语法糖,在表单使用v-mode时,vue底层会解析html标签,解析是否含有v-model的指令,如果有,并将对应的属性挂载到vue中,并且给这个表单添加input,change事件,当改变表单中的值时,相应的也会出发绑定的事件。同理就实现了双向绑定。
三、为什么子元素不能改变父元素的v-mode的值
为了能够准确的定位数据的错误位置,如果子元素能够修改父元素的值,那么存在多个子元素时,修改父元素的值,那么就无法定位到那个元素的使用错误。所以只能通过父级本身去修改自己的值。
底层的实现原理:vue实现子元素不能修改父元素的值,其实通过一个flag的标记位,判断是谁修改父元素的值。可以翻阅源码。
如何修改父元素的值:$eimt,v-model.sync