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 相关文章推荐
jQuery学习3:操作元素属性和特性
Feb 07 Javascript
JS获得图片alt信息的方法
Apr 01 Javascript
jQuery soColorPacker 网页拾色器
Jun 22 Javascript
利用Javascript实现BMI计算器
Aug 16 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
Aug 19 Javascript
JavaScript简单下拉菜单特效
Sep 13 Javascript
wap手机端解决返回上一页的js实例
Dec 08 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
Mar 06 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
Mar 09 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
May 12 Javascript
javascript/jquery实现点击触发事件的方法分析
Nov 11 jQuery
JavaScript创建表格的方法
Apr 13 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
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
PHP在特殊字符前加斜杠的实现代码
2011/07/17 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
PHP实现简单日历类编写
2020/08/28 PHP
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
javascript创建对象的几种模式介绍
2016/05/06 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
webpack4之如何编写loader的方法步骤
2019/06/06 Javascript
[03:09]2014DOTA2国际邀请赛 赛场上的美丽风景线 中国Coser也爱DOTA2
2014/07/20 DOTA
详解Python中的序列化与反序列化的使用
2015/06/30 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
浅谈python标准库--functools.partial
2019/03/13 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
Django 通过JS实现ajax过程详解
2019/07/30 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
python实现简单的井字棋游戏(gui界面)
2021/01/22 Python
css3的transition属性详解
2014/12/15 HTML / CSS
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
物控部经理职务说明书
2014/02/25 职场文书
初中军训感想300字
2014/03/05 职场文书
餐厅采购员岗位职责
2014/03/06 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
女性励志书籍推荐
2019/08/19 职场文书
Python基础之条件语句详解
2021/06/16 Python
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python