详细分析vue表单数据的绑定


Posted in Javascript onJuly 20, 2020

v-model的基本用法

一、本节说明

前面的章节我们学习了v-bind指定,可以通过模型数据去影响视图。我们都知道VUE是支持双向数据绑定的,那么视图是如何影响数据的呢?那就要学到我们这一节的内容v-model。v-model可以将表单输入绑定到对应的模型数据。

二、 怎么做

我们通过v-model实现一个简单的需求

通过表单input绑定模型数据message,表单数据变化data.message也发生变化
然后通过Mustache表达式,将变化之后的message数据显示到视图页面上

详细分析vue表单数据的绑定

三、 效果

详细分析vue表单数据的绑定

四、 深入

v-model实际上是一个语法糖,也就是简写,他实际上包含了两个操作:

  • v-bind绑定value属性
  • v-on监听表单元素的输入事件,并改变数据

所以,下面的两种写法实现的效果是一致的。

详细分析vue表单数据的绑定

v-model绑定radio和checkbox

一、本节说明

在绝大多数的表单操作中,我们不只要收集文本输入的数据,我们还可能用到单选和多选。通常,实现单选和多选有以下的方式:

  • 第一种:input标签type=radio实现单选和type=checkbox实现的多选
  • 第二种:select标签-option标签实现的单选与多选

这一节我们来讲解第一种方式实现的多选,及使用v-model指令数据绑定方法。

二、 怎么做

详细分析vue表单数据的绑定

  • 使用radio实现单选,v-model绑定的数据应该是同一个,这样实现单选选项之间的互斥
  • 使用checkbox实现多选,v-model绑定的数据应该是同一个,这样多选的数据才属于同一个数组

三、 效果(动态图片)

详细分析vue表单数据的绑定

四、 深入

怎样在单选或者多选选项显示,默认勾选一个或多个选项?只需要给定默认初始化数据即可

详细分析vue表单数据的绑定

浏览器效果:

详细分析vue表单数据的绑定

v-model绑定select

一、本节说明

上一节我们使用v-model指令,绑定input标签type=radio和type=checkbox,分别实现了单选和多选的视图向模型数据的绑定。这一节我们使用select标签和option标签,结合v-model实现单选和多选的视图向模型数据的绑定。

二、 怎么做

详细分析vue表单数据的绑定

  • v-model绑定模型数据mvp,实现单选效果
  • v-model绑定模型数据allDefensiveTeam,结合multiple属性实现多选效果
  • 多选选项的模型数据为数组类型
  • 可以为单选及多选设置默认值,即:默认的勾选项

三、 效果(动态图)

详细分析vue表单数据的绑定

v-model的修饰符

一、本节说明

本节我们介绍一下在使用v-model指令进行表单数据绑定的时候,常用的修饰符,修饰符会对指令功能起到补充和增强的作用。

二、 怎么做

详细分析vue表单数据的绑定

  • lazy修饰符:默认情况下,input输入会实时影响v-model绑定的数据。加上lazy修饰符,只有当输入框失去焦点会输入回车的时候,才会去改变v-model绑定的数据。
  • number修饰符:默认情况下,输入框中输入的无论是数字还是字母,都会被当做字符串处理。加上number修饰符,输入内容会被当做数值类型处理。
  • trim修饰符:可以自动去掉输入内容左右两边的空格

三、 效果

详细分析vue表单数据的绑定

  • 由上图可以看到,当第一个输入框失去焦点的时候,name:curry,才发生数据改变。
  • 输入年龄31,被当作数值类型处理(默认输入是当作字符串类型。因为初始值为null,所以显示是object类型)
  • 第三个输入框,输入内容前后都有空格,但是加上trim修饰符,就自动去掉了。

以上就是详细分析vue表单数据的绑定的详细内容,更多关于vue表单数据的绑定的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
Dec 26 Javascript
JS中showModalDialog 的使用解析
Apr 17 Javascript
jquery鼠标滑过提示title具体实现代码
Aug 06 Javascript
js实现跨域的4种实用方法原理分析
Oct 29 Javascript
js实现跨域访问的三种方法
Dec 09 Javascript
JavaScript常用本地对象小结
Mar 28 Javascript
AngularJS 模块详解及简单实例
Jul 28 Javascript
详解如何使用 vue-cli 开发多页应用
Dec 16 Javascript
浅谈SpringMVC中post checkbox 多选框value的值(隐藏域方式)
Jan 08 Javascript
jQuery实现常见的隐藏与展示列表效果示例
Jun 04 jQuery
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
Aug 12 Javascript
js实现滚动条自动滚动
Dec 13 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
Jul 20 #Javascript
mpvue 项目初始化及实现授权登录的实现方法
Jul 20 #Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
Jul 20 #Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
Jul 20 #Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
Jul 20 #Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
Jul 20 #Javascript
如何实现echarts markline标签名显示自己想要的
Jul 20 #Javascript
You might like
Smarty局部缓存的几种方法简介
2014/06/17 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
php 的反射详解及示例代码
2016/08/25 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
yii2 上传图片的示例代码
2018/11/02 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
php7 新增功能实例总结
2020/05/25 PHP
表单验证正则表达式实例代码详解
2015/11/09 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
Vue实现web分页组件详解
2017/11/28 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
使用JS监听键盘按下事件(keydown event)
2019/11/07 Javascript
Node.js Domain 模块实例详解
2020/03/18 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
[33:09]完美世界DOTA2联赛循环赛 Forest vs DM BO2第二场 10.29
2020/10/29 DOTA
Python函数式编程指南(三):迭代器详解
2015/06/24 Python
Python中装饰器高级用法详解
2017/12/25 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
Python最小二乘法矩阵
2019/01/02 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
使用python模拟命令行终端的示例
2019/08/13 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
python脚本和网页有何区别
2020/07/02 Python
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
PHP经典面试题
2016/09/03 面试题
中间件的定义
2016/08/09 面试题
2014年秘书工作总结
2014/11/25 职场文书
使用python绘制横竖条形图
2022/04/21 Python