一、基本用法
1、文本
<input v-model="message" placeholder="edit me"><p>Message is: {{ message }}</p>
我们绑定了v-model,当我们对message进行修改的时候,它会自动显示到页面上
点击按钮前
点击按钮后
我们修改了我们的内存,页面会发生变化
如果用户对input进行修改,message也会自动变化
这个就是双向绑定
2、多行文本
<span>Multiline message is:</span><p style="white-space: pre-line;">{{ message }}</p><br><textarea v-model="message" placeholder="add multiple lines"></textarea>
3、复选框
单个复选框,绑定到布尔值:
<input type="checkbox" id="checkbox" v-model="checked"><label for="checkbox">{{ checked }}</label>
使用label包住input就无需使用id
多个复选框,绑定到同一个数组:
<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>
new Vue({ el: '...', data: {checkedNames: [] } })
如果数据库要存数字
4、单选按钮
5、选择框
如果想多选使用,multiple
6、form用来提交
使用button+form的组合
二、3个修饰符
1、.lazy
在默认情况下,v-model
在每次input
事件触发后将输入框的值与数据进行同步 。可以添加lazy
修饰符,从而转为在change
事件_之后_进行同步
v-model默认会监听
a、input事件:键盘、鼠标、以及任何输入设备的输入
b、change事件:只在input失去焦点时触发
点击密码框后(失去焦点)才会变化
2、.number
如果想自动将用户的输入值转为数值类型,可以给v-model
添加number
修饰符
3、.trim
如果要自动过滤用户输入的首尾空白字符,可以给v-model
添加trim
修饰符
三、v-model
本质等价于
vue的双向绑定就是v=model,v-model可以实现绑定一个变量,在变量变化的时候UI发生变化,用户改变UI的时候数据也会变化,v-model实际上是v-bind:value和v-on:input的语法糖。如果是原生的input,那么v-on:input = "xxx = $event.target.value",如果是自定义的组件,v-on:input = "xxx = $event”
四、使用Ant Design of Vue
参考教程
安装
yarn add ant-design-vue
完整引入
可模仿
Ant Design Vue