v-mode:根据控件类型自动选取正确的方法来更新元素。
修饰符:
.lazy
在默认情况下, v-model 在 input 事件中同步输入框的值与数据,但你可以添加一个修饰符 lazy ,从而转变为在 change 事件中同步:
<!-- 在 "change" 而不是 "input" 事件中更新 --> <input v-model.lazy="msg" >
.trim
如果要自动过滤用户输入的首尾空格,可以添加 trim 修饰符到 v-model 上过滤输入:
<input v-model.trim="msg">
.number
如果想自动将用户的输入值转为 Number 类型(如果原值的转换结果为 NaN 则返回原值),可以添加一个修饰符 number 给 v-model 来处理输入值:
<input v-model.number="age" type="number">
这通常很有用,因为在 type="number" 时 HTML 中输入的值也总是会返回字符串类型。
<body>
<div id="app" @click="aa(checkedNames)">
<p>单个复选框:</p>
<input type="checkbox" id="checkbox" v-model="checked">
<label for="checkbox">{{ checked }}</label>
<p>多个复选框:</p>
<input type="checkbox" id="runoob" value="Runoob" v-model="checkedNames">
<label for="runoob">Runoob</label>
<input type="checkbox" id="google" value="Google" v-model="checkedNames">
<label for="google">Google</label>
<input type="checkbox" id="taobao" value="Taobao" v-model="checkedNames">
<label for="taobao">taobao</label>
<br>
<span>选择的值为: {{ checkedNames }}</span>
</div>
<div style="height: 20px;"></div>
<div id="app_r">
<input type="radio" id="runoob" value="Runoob" v-model="picked">
<label for="runoob">Runoob</label>
<br>
<input type="radio" id="google" value="Google" v-model="picked">
<label for="google">Google</label>
<br>
<span>选中值为: {{ picked }}</span>
</div>
<div style="height: 20px;"></div>
<div id="app_s">
<select v-model="selected_Num" name="fruit">
<option value="1">第一个</option>
<option value="2">第二个</option>
<option value="3">第三个</option>
</select>
<div id="output">
选择的数字是: {{selected_Num}}
</div>
</div>
<script>
new Vue({
el: '#app',
data: {
checked: false,
checkedNames: []
},
methods: {
aa: function(pp) {
console.log('点击=' + pp);
}
}
})
new Vue({
el: '#app_r',
data: {
picked: 'Runoob' /*空 都不选;填一个,则默认选*/
}
})
new Vue({
el: '#app_s',
data: {
selected_Num: ''
}
})
</script>
</body>
原文 http://www.runoob.com/vue2/vue-forms.html