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 相关文章推荐
javascript的onchange事件与jQuery的change()方法比较
Sep 28 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
Jan 18 Javascript
JS截取字符串常用方法整理及使用示例
Oct 18 Javascript
jQuery结合ajax实现动态加载文本内容
May 19 Javascript
jQuery聚合函数实例
May 21 Javascript
jQuery实现返回顶部效果的方法
May 29 Javascript
在页面中输出当前客户端时间javascript实例代码
Mar 02 Javascript
AngularJS equal比较对象实例详解
Sep 14 Javascript
JavaScript箭头函数_动力节点Java学院整理
Jun 28 Javascript
JS和JQuery实现雪花飘落效果
Nov 30 jQuery
tracking.js实现前端人脸识别功能
Apr 16 Javascript
vue实现列表垂直无缝滚动
Apr 08 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
YII中assets的使用示例
2014/07/31 PHP
PHP 验证登陆类分享
2015/03/13 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
类之Prototype.js学习
2007/06/13 Javascript
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
Js动态创建div
2008/09/25 Javascript
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
React中的refs的使用教程
2018/02/13 Javascript
在Vue 中实现循环渲染多个相同echarts图表
2020/07/20 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
[01:23]2019完美世界全国高校联赛(春季赛)合肥全国总决赛
2019/06/10 DOTA
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
Python遍历目录中的所有文件的方法
2016/07/08 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
css3背景图片透明叠加属性cross-fade简介及用法实例
2013/01/08 HTML / CSS
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
abstract class和interface有什么区别
2013/08/04 面试题
法律进学校实施方案
2014/03/15 职场文书
企业文明单位申报材料
2014/05/16 职场文书
员工安全生产责任书
2014/07/22 职场文书
售房协议书
2014/08/19 职场文书
技术经济专业求职信
2014/09/03 职场文书
英语导游词
2015/02/13 职场文书
光荣之路观后感
2015/06/12 职场文书
卫生主题班会
2015/08/14 职场文书