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 相关文章推荐
js中通过父级进行查找定位元素
Jun 15 Javascript
JavaScript实现关键字高亮功能
Nov 12 Javascript
js控制文本框只输入数字和小数点的方法
Mar 10 Javascript
JS实现网页上随机产生超链接地址的方法
Nov 09 Javascript
JavaScript创建对象的方式小结(4种方式)
Dec 17 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
Apr 01 Javascript
vue.js开发环境搭建教程
May 04 Javascript
使用yeoman构建angular应用的方法
Aug 14 Javascript
深入浅析JS中的严格模式
Jun 04 Javascript
vue2配置scss的方法步骤
Jun 06 Javascript
JavaScript中的连续赋值问题实例分析
Jul 12 Javascript
layer弹出层倒计时关闭的实现方法
Sep 27 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
打造计数器DIY三步曲(中)
2006/10/09 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
2010/06/04 PHP
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
php验证码生成代码
2015/11/11 PHP
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
JS+CSS实现滑动切换tab菜单效果
2015/08/25 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
2016/02/27 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
javascript实现的图片预览功能
2017/03/25 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
AngularJS日程表案例详解
2017/08/15 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
Python编程给numpy矩阵添加一列方法示例
2017/12/04 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
H5 canvas实现贪吃蛇小游戏
2017/07/28 HTML / CSS
美国医疗用品、医疗设备和家庭保健用品商店:Medical Supply Depot
2018/07/08 全球购物
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
使用useBean标志初始化BEAN时如何接受初始化参数
2012/02/11 面试题
鞋类设计与工艺专业销售求职信
2013/11/01 职场文书
人事任命书范文
2014/06/04 职场文书
学校证明范文
2015/06/24 职场文书
超市主管竞聘书
2015/09/15 职场文书
2016年基层党组织创先争优承诺书
2016/03/25 职场文书
Python类方法总结讲解
2021/07/26 Python
处理canvas绘制图片模糊问题
2022/05/11 Javascript