vue通过过滤器实现数据格式化


Posted in Javascript onJuly 20, 2020

一、本节说明

在使用插值表达式的时候,我们通常会有一种需求,就是将数据进行二次的格式化。VUE的过滤器的实现参考了linux的shell命令的管道的实现原理:即上一个命令的输出,是下一个命令的输入。
所以过滤器可以串接使用:{{数据 | 过滤器A | 过滤器B}}

除了在插值表达式中可以使用过滤器,在后文中将要学习到的v-bind指令中也可以使用过滤器。用法是一致的,到时候我们再看一看。

二、 怎么做

全局过滤器(定义一个用于做日期格式化的过滤器)

vue通过过滤器实现数据格式化

  • 过滤器的第一个参数是固定的,就是输入的数据。对于{{message|date-format('yyyy-mm-dd')}}而言,参数input=message,即“|”管道符之前的数据输出,作为过滤器的输入数据。
  • 过滤器除了第一个参数固定是“管道输出”,其他的参数根据需要自定义。在传参的时候,从第二个参数开始传入即可。{{message|date-format(message,'yyyy-mm-dd')}}写法是错误的。
  • 其中let是ES6中定义变量的语法,类似于var,但在块作用域方面有不同之处。可以自行搜索深入学习
  • 在上文代码中使用了 template string语法,使用该语法可以有效的解决,字符串与变量繁琐的拼接问题。“`”这个字符是键盘在英文输入法环境中,ESC下方的那个按键。
  • 在template string语法中,变量用${变量名}括起来。这个用法也是参考了linux的shell脚本的实现。
  • 使用ES6中的字符串新方法String.prototype.padStart(maxLength, fillString='') String.prototype.padEnd(maxLength, fillString='')来填充字符串;padStart(2,'0')表示如果字符串长度不足2位,则左补0,补足到长度为2.

三、 效果

过滤器的使用方法:

{{message}}
{{message|date-format('yyyy-mm-dd')}}

浏览器显示的效果:

vue通过过滤器实现数据格式化

四、 深入:私有过滤器

除了可以定义全局的过滤器,我们还可以定义私有过滤器。但是过滤器这种代码,类似于工具类,我们一般定义为全局的,让它在各个模块、组件里面都可以使用。

vue通过过滤器实现数据格式化

注意:当有局部和全局两个名称相同的过滤器时候,会以就近原则进行调用,即:局部过滤器优先于全局过滤器被调用!

以上就是vue通过过滤器实现数据格式化的详细内容,更多关于vue实现数据格式化的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
Code: write(s,d) 输出连续字符串
Aug 19 Javascript
JQuery 遮罩层实现(mask)实现代码
Jan 09 Javascript
Jquery多选框互相内容交换的实例代码
Jul 04 Javascript
使用jQuery实现返回顶部
Jan 26 Javascript
JS数组合并push与concat区别分析
Dec 17 Javascript
JavaScript手机振动API
Jun 11 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
Nov 30 Javascript
js绑定事件和解绑事件
Apr 27 Javascript
详解使用mpvue开发github小程序总结
Jul 25 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
Oct 26 Javascript
Node.js Event Loop各阶段讲解
Mar 08 Javascript
vue实现图书管理系统
Dec 29 Vue.js
原生JavaScript写出Tabs标签页的实例代码
Jul 20 #Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
Jul 20 #Javascript
简单了解前端渐进式框架VUE
Jul 20 #Javascript
基于VSCode调试网页JavaScript代码过程详解
Jul 20 #Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
Jul 20 #Javascript
在Vue 中实现循环渲染多个相同echarts图表
Jul 20 #Javascript
解决echarts数据二次渲染不成功的问题
Jul 20 #Javascript
You might like
PHP5中的this,self和parent关键字详解教程
2007/03/19 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
php以post形式发送xml的方法
2014/11/04 PHP
JavaScript实现滚动栏效果的方法
2015/04/27 PHP
PHP如何将log信息写入服务器中的log文件
2015/07/29 PHP
Yii模型操作之criteria查找数据库的方法
2016/07/15 PHP
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
vue实现图书管理demo详解
2017/10/17 Javascript
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
[01:11]steam端dota2实名认证操作流程视频
2021/03/11 DOTA
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
一些Solaris面试题
2015/12/22 面试题
优秀党员转正的自我评价
2013/10/06 职场文书
家长给孩子的表扬信
2014/01/17 职场文书
出纳会计岗位职责
2014/03/12 职场文书
学校四群教育实施方案
2014/06/12 职场文书
某集团股份有限公司委托书样本
2014/09/24 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
MySQL 5.7常见数据类型
2021/07/15 MySQL