梗概:
双向同步以下两个所指定的数据
1. 对于组件A中的html表单标签
表单元素的有意义内容 ⇐> A组件中的响应式变量
2. 对于组件A中的子组件a
语法:
v-model:组件内形参.修饰符="组件外的响应式变量"
1. 说明:
:组件内形参是可选的, 默认为**:modelValue**.修饰符是可选的
修饰符:
.lazy- 监听change而不是input事件.number- 输入字符串转为有效的数字.trim- 输入首尾空格过滤.自定义的修饰符- child::Vue 处理v-model的自定义修饰符
实例:
1. 在html表单元素中使用:
1.1. 输入框:
<!-- 将input标签的value和message变量双向同步 -->
<input v-model="message" placeholder="edit me" />
<p>Message is: {{ message }}</p>2.1. 内嵌效果:
1.2. 勾选框:
将布尔值绑定到变量:
<input type="checkbox" id="checkbox" v-model="checked" />
<label for="checkbox">{{ checked }}</label>1.3. 下拉选择框:
将所选内容与变量双向同步:
<div id="v-model-select" class="demo">
<select v-model="selected">
<option disabled value="">Please select one</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
<span>Selected: {{ selected }}</span>
</div>1.4. 单选框:
将所选内容与变量双向同步:
<div id="v-model-radiobutton">
<input type="radio" id="one" value="One" v-model="picked" />
<label for="one">One</label>
<br />
<input type="radio" id="two" value="Two" v-model="picked" />
<label for="two">Two</label>
<br />
<span>Picked: {{ picked }}</span>
</div>1.5. 复选框:
将复选元素所组成的数组与变量双向同步:
<div id="v-model-multiple-checkboxes">
<input type="checkbox" id="jack" value="Jack" v-model="checkedNames" />
<label for="jack">Jack</label>
<input type="checkbox" id="john" value="John" v-model="checkedNames" />
<label for="john">John</label>
<input type="checkbox" id="mike" value="Mike" v-model="checkedNames" />
<label for="mike">Mike</label>
<br />
<span>Checked names: {{ checkedNames }}</span>
</div>1.6. 内嵌效果:
1.7. 拉选框:
将所选内容组成的数组与变量双向同步:
<select v-model="selected" multiple>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
<br />
<span>Selected: {{ selected }}</span>