0%

【006】Vue基础学习:v-model的使用

基础用法

模版写法:

1
<input v-model="message">

完整代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>v-model</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.11"></script>
</head>
<body>
<div id="app">
<input v-model="message" />
<div>{{ message }}</div>
</div>
<script type="text/javascript">
var vm = new Vue({
el: '#app',
data() {
return {
message: '123'
}
}
})
</script>
</body>
</html>

在浏览器运行此文件后,在文本框输入内容时可以看到文本框下面的内容也在跟着变化,这是因为v-model 指令在表单<input><textarea><select>元素上创建双向数据绑定,它会根据控件类型自动选取正确的方法来更新元素。

注意:
v-model 会忽略所有表单元素的 value、checked、selected attribute 的初始值而总是将 Vue 实例的数据作为数据来源。你应该通过 JavaScript 在组件的 data 选项中声明初始值。

常见修饰符

修饰符 说明
.lazy 取代 input 监听 change 事件。
.number 输入字符串转为数字。
.trim 输入去掉首尾空格。

模版写法:

1
<input v-model.trim="msg">

完整代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>v-model</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.11"></script>
</head>
<body>
<div id="app">
<input v-model.trim="message" />
<div>{{ message }}</div>
</div>
<script type="text/javascript">
var vm = new Vue({
el: '#app',
data() {
return {
message: '123'
}
}
})
</script>
</body>
</html>

在浏览器运行此文件后,可以看到在文本框的头和尾输入空格是无效的。