详细分析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 应用类库代码
Jun 02 Javascript
Jquery 组合form元素为json格式,asp.net反序列化
Jul 09 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
Feb 03 Javascript
完美解决AJAX跨域问题
Nov 01 Javascript
js如何判断用户是在PC端和还是移动端访问
Apr 24 Javascript
在HTML代码中使用JavaScript代码的例子
Oct 16 Javascript
jQuery实现的简单分页示例
Jun 01 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
Apr 12 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
May 01 Javascript
jQuery实现的页面弹幕效果【测试可用】
Aug 17 jQuery
解决layer弹出层的内容页点击按钮跳转到新的页面问题
Sep 14 Javascript
vue实现五子棋游戏
May 28 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
php版微信发红包接口用法示例
2016/09/23 PHP
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
利用Node.js制作爬取大众点评的爬虫
2016/09/22 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
vue 扩展现有组件的操作
2020/08/14 Javascript
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
理解Python中的With语句
2016/03/18 Python
python 正确保留多位小数的实例
2018/07/16 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
python数据挖掘需要学的内容
2019/06/23 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
如何利用cmp命令比较文件
2016/04/11 面试题
如何定义一个可复用的服务
2014/09/30 面试题
应届生骨科医生求职信
2013/10/31 职场文书
采购主管的岗位职责
2013/12/17 职场文书
幼儿园安全生产月活动总结
2014/07/05 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
安全先进个人材料
2014/12/29 职场文书
2015年前台个人工作总结
2015/04/03 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
mysql全面解析json/数组
2022/07/07 MySQL
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers