21. VUE 的 V-model 指令(双向绑定input)【主要绑定表单】
v-model 这个指令用于双向绑定 input 的值,比如下面有个 输入框,他的值就可以用v-model 来绑定:
<div id="app"><input type="text" v-model = "message"><h2>{{message}}</h2>
</div><script>const app = new Vue({el:"#app",data:{message:"您好! BiHu!"}})
</script>
你会发现 当你修改 输入框中的值的时候 ,底下的 标题也会跟着改变,因为这就是 "双向绑定",即 data 中的 message 修改 那么input的值也修改,当input 的值修改,data中的message也一样修改。
其实它的原理我们也可以做:
无非就是 v-bind 绑定 + 一个input 事件触发:
<div id="app"><input type="text" :value="message" @input="message = $event.target.value" ><h2>{{message}}</h2>
</div>
当然,我们也可以将v-model用于textarea元素【自己测试】
v-model 绑定 radio 使用:
如果我们用单选框 选择性别:
<div id="app"><label for="M"><input id="M" type="radio" value="男" name="sex"> 男</label><label for="F"><input id="F" type="radio" value="女" name="sex"> 女</label><!-- 要达到互斥的效果 单选框的name需要一致 -->
</div>
普通的选择代码就这样 ,注意 要达到互斥的效果 单选框的name需要一致 这些都是基础 你得懂。
如果你用v-model 去绑定:
<div id="app"><label for="M"><input id="M" type="radio" value="男" v-model="sex"> 男</label><label for="F"><input id="F" type="radio" value="女" v-model="sex"> 女</label><h3>如果你用V-model绑定了值 sex,那么 你选择的sex是:{{sex}}<br>而且你可以name属性 即可达到互斥的效果</h3>
</div><script>const app = new Vue({el:"#app",data:{sex:"" //此时的sex为空 当然你想有默认值的话 可以是 男/女 {即radio的value}}})
</script>
功能我都一次性说完了。总结以下几点:
1. 可以不用name属性达到互斥单选
2.绑定后 可以随时用 胡须语法 查看选中的值
3.默认值可以直接在 绑定的变量中写 ,不用写原生 checked 属性.
5.响应式改变 sex的值 达到选中
v-model 绑定 checkbox 复选框:
这个复选框 原始的话 如果你选中 他的 checked 属性是为真的 ,反之为假:
我们来个例子(勾选已详细阅读 后 才能进入下一步操作):
<div id="app"><div>软件使用说明书<br>xxxx............... <br> xxxx............. <br> <br></div><label><input type="checkbox" v-model="already" > <!--因为是双向绑定 所以按下 already为true--><span style="color: fuchsia"><b>已详细阅读</b></span></label><br><br><button :disabled="!already">下一步</button>
</div><script>const app = new Vue({el:"#app",data:{already:false //一开始肯定是没阅读的}})
</script>
你还可以打印一下 already 的值 会是 true 、 false 的。
这个是单个 而且绑定的变量初始化是 boolean型的 ,如果是多选框,那么就有特性要理清楚:
<div id="app"><label><input type="checkbox" value="篮球" v-model="hobby" > 篮球 <!--因为是双向绑定 所以按下 vue检测到v-model 绑定的类型是什么作出响应操作--></label><label><input type="checkbox" value="羽毛球" v-model="hobby" > 羽毛球</label><label><input type="checkbox" value="跑步" v-model="hobby" > 跑步</label><label><input type="checkbox" value="跆拳道" v-model="hobby" > 跆拳道</label><h3> {{hobby}} </h3><!--打印一下hobby-->
</div><script>const app = new Vue({el:"#app",data:{already:false, //注意 already 是boolean型hobby:[] //注意 hobby 是数组}})
</script>
看代码可知,如果你绑定的是变量类型是 boolean 他就帮你操作 选中、未选中,但是如果是数组 他就帮你把这个 复选框的值 添加进去。
我发现 如果他识别不出你是什么类型【其他类型】 默认都按boolean来
v-model 绑定 select 选择框:
<div id="app"><h3>请选择你喜欢吃的水果:</h3><select name="fruit" id="fruit" v-model="fruit"> <!--注意啊 是在这里用v-model--><option value="苹果">苹果</option><option value="香蕉">香蕉</option><option value="菠萝">菠萝</option><option value="木瓜">木瓜</option></select><h3>{{fruit}}</h3> <!--打印一下-->
</div><script>const app = new Vue({el:"#app",data:{fruit:'香蕉', //可以调初始值 也可以为空(为空默认第一个)}})
</script>
当绑定的类型是 字符串 可以指定 值,但是 要对应 option 的 value 即可!!!
我们还可以多选 配和 数组 ,多选可以添加到数组中:
<div id="app"><h3>请选择你喜欢吃的水果:</h3><select name="fruit" id="fruit" v-model="fruits" multiple> <!--name 和 id 你自己换 /// multiple是多选属性 按住ctrl即可--><option value="苹果">苹果</option><option value="香蕉">香蕉</option><option value="菠萝">菠萝</option><option value="木瓜">木瓜</option></select><h3>{{fruits}}</h3> <!--打印一下数组-->
</div><script>const app = new Vue({el:"#app",data:{fruit:'香蕉', //可以调初始值 也可以为空(为空默认第一个)fruits:[] //这是个数组类型}})
</script>
这个不怎么常用,会用即可
值绑定
其实这个原理就是 先定义好input的值,然后你把它遍历出来,通过绑定渲染出不同的值 和 不同的属性:
<div id="app"><h3>请选择你喜欢的运动:</h3><label v-for="item in hobby" :id="item"><input type="checkbox" :value="item" v-model="choice">{{item}}</label><h3>您已选择:{{choice}}</h3>
</div><script>const app = new Vue({el:"#app",data:{hobby:["跑步","游泳","跆拳道","睡觉"], //运动是可变的,如果你写在input 那么就写死了choice:[], //已选择会存储在这}})
</script>
原理很简单 自己看代码即可
21. VUE 的 V-model 指令(双向绑定input)【主要绑定表单】相关推荐
- 前端进阶_狂神Vue笔记_语法指令v-bind、v-on、v-for_表单双绑_组件_Axios异步通信_Vue的生命周期_计算属性_插槽 <slot>_webpack使用_vue-router路由
四.第一个Vue程序 4.1.什么是MVVM MVVM(Model-View-ViewModel)是一种软件设计模式,由微软WPF(用于替代WinForm,以前就是用这个技术开发桌面应用程序的)和Si ...
- vue3 antd项目实战——Form表单使用【v-model双向绑定数据,form表单嵌套input输入框、Radio单选框】
vue3 ant design vue项目实战--单选框(Radio)的使用以及Form表单的双向绑定 知识调用(form表单的源代码附在文章最后) 场景复现 实现需求 form表单整体架构的搭建 i ...
- vue 按钮删除input内容_Vue表单和v-model
一.基本用法 1.文本 <input v-model="message" placeholder="edit me"> <p>Messa ...
- 前端学习(1999)vue之电商管理系统电商系统之分析表单的数据
目录结构 router.js import Vue from 'vue' import Router from 'vue-router' import Login from './components ...
- 前端学习(1954)vue之电商管理系统电商系统之重置表单数据
目录结构 router.js import Vue from 'vue' import Router from 'vue-router' import Login from './components ...
- 前端学习(1865)vue之电商管理系统电商系统之实现表单的数据绑定
修改头像位置 3目录结构 router.js import Vue from 'vue' import Router from 'vue-router' import Login from './co ...
- vue的lazy修饰符和number修饰符 、表单结构
目录 vue的lazy修饰符 vue的number修饰符 表单的构成 表单域 表单控件 vue的lazy修饰符 在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步 ...
- form表单 vue 拖拽_vue实现可视化可拖放的自定义表单(代码示例)
本篇文章给大家带来的内容是关于vue实现可视化可拖放的自定义表单(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 实现如例子所示的可视化可拖放表单功能.整个页面,分为左中右 ...
- Vue的常用指令(v-html {{}}文本插值,v-bind绑定属性,v-if条件渲染,v-for列表渲染,v-on @ 事件绑定,v-model表单绑定)
Vue的常用指令(文本插值,绑定属性,条件渲染,列表渲染,事件绑定,表单绑定) Vue 的介绍 Vue 是一套构建用户界面的渐进式前端框架. 只关注视图层,并且非常容易学习,还可以很方便的与其它库或已 ...
- 【15】Vue:02-Vue表单基本操作、表单修饰符、自定义指令、计算属性computed、侦听器watch、过滤器、生命周期、数组变异方法、替换数组、动态数组响应数据、图书列表案例、TODOS案例
文章目录 day02 Vue常用特性 表单基本操作 表单修饰符 自定义指令 Vue.directive 注册全局指令 Vue.directive 注册全局指令 带参数 自定义指令局部指令 计算属性 c ...
最新文章
- 【2012百度之星/资格赛】H:用户请求中的品牌 [后缀数组]
- Ubuntu 16.04 LTS 常用工具软件整理(陆续更新)
- ArcGIS几种数据格式2
- Java面试题及答案,java底层实现原理
- 【机器学习】朴素贝叶斯介绍及实例--对短信进行二分类 使用多项式分布
- Commons codec jar包详解
- c语言实现的optics算法,基于深度学习的光学系统设计方法
- 小程序Windows和linux,改进后的《自动显示天气预报》小程序(Linux和Windows环境都可以)...
- 教育局查询2021年高考成绩,关于广东省2021年普通高考英语听说考试成绩发布有关事宜的通知...
- office 公式编辑器 插入花体格式字母
- 曼联球星普巴来罗!POGMOJI APP即将上市
- npm安装express-art-template报错:no such file or directory, open 'D:xx\xx\package.json解决办法
- 计算机的硬盘配额如何更改,磁盘配额怎么设置
- C# 模拟鼠标点击(鼠标按键损坏,辅助工具)
- 用pygame做一个简单的python小游戏---七彩同心圆
- c语言中point用法,point的用法总结大全
- 【数字电路基础】CMOS晶体管的延时
- put和putIfAbsent的区别
- 2021年高考大连8中成绩查询,2021年新高考适应性考试成绩怎么查?八省联考成绩可以保留吗?...
- 丹尼尔·克雷格詹姆斯·邦德锻炼培训
热门文章
- Java单元测试--如何编写Controler接口的单元测试
- 如何写出高质量的技术文章?
- 服务器使用Win10代理上网
- 46岁编程女侠,4个月搞定深度学习,她的经历可以复制吗?
- 南阳nyoj586疯牛 和nyoj619详解总结
- 充分条件、必要条件、充分必要条件
- 王权富贵:Pytorch教学
- 【万字总结】数据结构与算法简述和CS综合,保姆级一文打包
- 元素类型为 “mapper“ 的内容必须匹配 “(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|selec
- 02 12 字符串反转;汉字硬反转(天连草色一川平 -> 平川一色草连天)