Vue input控件通过value绑定动态属性及修饰符的方法


Posted in Javascript onMay 03, 2017

对于单选按钮,勾选框及选择列表选项, v-model 绑定的 value 通常是静态字符串(对于勾选框是逻辑值):

<!-- 当选中时,`picked` 为字符串 "a" -->
<input type="radio" v-model="picked" value="a">
<!-- `toggle` 为 true 或 false -->
<input type="checkbox" v-model="toggle">
<!-- 当选中时,`selected` 为字符串 "abc" -->
<select v-model="selected">
 <option value="abc">ABC</option>
</select>

但是有时我们想绑定 value 到 Vue 实例的一个动态属性上,这时可以用 v-bind 实现,并且这个属性的值可以不是字符串。

举个最容易认知的例子

<input type="radio" v-model="pick" v-bind:value="a">
//当只有v-model的情况下,我们绑定了VUE实例中的pick这个数据,而这数据往往都是字符串或者是逻辑值,而如今通过v-bind绑定value,意味着,value是一个可变的数据 a,而不是字符串'a',而v-model在这个控件选定后的值就是指向value,而用v-bind绑定后,指向的值又是一个动态属性,所以此时就可以通过a这个动态属性来更改v-model绑定的值,其他的控件也是如此,比如select等
// 当选中时
vm.pick === vm.a

.lazy

在默认情况下, v-model 在 input 事件中同步输入框的值与数据 (除了 上述 IME 部分),但你可以添加一个修饰符 lazy ,从而转变为在 change 事件中同步:

//测试是在失去焦点的时候才更新,而不是实时更新

<input v-model.lazy="msg" >

.number

如果想自动将用户的输入值转为 Number 类型(如果原值的转换结果为 NaN 则返回原值),可以添加一个修饰符 number 给 v-model 来处理输入值:

<input v-model.number="age" type="number">
{{typeof age}}//如果输入的是字符串则是string,如果是数字字符串则转换成number

这通常很有用,因为在 type=”number” 时 HTML 中输入的值也总是会返回字符串类型。

.trim

如果要自动过滤用户输入的首尾空格,可以添加 trim 修饰符到 v-model 上过滤输入:

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

以上所述是小编给大家介绍的Vue input控件通过value绑定动态属性及修饰符的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
在Javascript中为String对象添加trim,ltrim,rtrim方法
Sep 22 Javascript
JavaScript中的console.assert()函数介绍
Dec 29 Javascript
Bootstrap学习笔记之css组件(3)
Jun 07 Javascript
微信小程序之仿微信漂流瓶实例
Dec 09 Javascript
JS实现给对象动态添加属性的方法
Jan 05 Javascript
Angular.js实现动态加载组件详解
May 28 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
Jun 04 Javascript
Angular实现图片裁剪工具ngImgCrop实践
Aug 17 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
Dec 22 Javascript
js 索引下标之li集合绑定点击事件
Jan 12 Javascript
JavaScript实现图片懒加载的方法分析
Jul 05 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
Apr 08 Javascript
ES6中参数的默认值语法介绍
May 03 #Javascript
Express之get,pos请求参数的获取
May 02 #Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
May 02 #Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
May 02 #Javascript
JavaScript比较两个数组的内容是否相同(推荐)
May 02 #Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
May 02 #Javascript
xmlplus组件设计系列之树(Tree)(9)
May 02 #Javascript
You might like
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
2017/02/21 Javascript
Angular 作用域scope的具体使用
2017/12/11 Javascript
Angular6封装http请求的步骤详解
2018/08/13 Javascript
使用JavaScript计算前一天和后一天的思路详解
2019/12/20 Javascript
Vue路由的模块自动化与统一加载实现
2020/06/05 Javascript
vant 自定义 van-dropdown-item的用法
2020/08/05 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
[47:55]Ti4第二日主赛事败者组 NaVi vs EG 1
2014/07/20 DOTA
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
python访问系统环境变量的方法
2015/04/29 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
Python requests库用法实例详解
2018/08/14 Python
python3中eval函数用法使用简介
2019/08/02 Python
Python中函数的返回值示例浅析
2019/08/28 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
TensorFlow学习之分布式的TensorFlow运行环境
2020/02/05 Python
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
remote接口和home接口主要作用
2013/05/15 面试题
电气工程及其自动化自我评价四篇
2013/09/24 职场文书
商务日语专业自荐信
2014/04/17 职场文书
设计大赛策划方案
2014/06/13 职场文书
通知函格式范文
2015/04/27 职场文书
实施意见格式范本
2015/06/05 职场文书
Python中Selenium对Cookie的操作方法
2021/07/09 Python