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 相关文章推荐
jquery 将disabled的元素置为enabled的三种方法
Jul 25 Javascript
JavaScript中继承的一些示例方法与属性参考
Aug 07 Javascript
基于Jquery的简单图片切换效果
Jan 06 Javascript
JavaScript也谈内存优化
Jun 06 Javascript
javascript实现获取浏览器版本、操作系统类型
Jan 29 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
Dec 29 Javascript
ES6概念 ymbol.for()方法
Dec 25 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
Nov 13 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
Jul 10 Javascript
vue中的自定义分页插件组件的示例
Aug 18 Javascript
vue项目刷新当前页面的三种方法
Dec 04 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
Aug 13 Javascript
原生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
php URL编码解码函数代码
2009/03/10 PHP
PHP 飞信好友免费短信API接口开源版
2010/07/22 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
javascript 词法作用域和闭包分析说明
2010/08/12 Javascript
使用js获取地址栏中传递的值
2013/07/02 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
javascript入门教程基础篇
2015/11/16 Javascript
JavaScript观察者模式(经典)
2015/12/09 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
Python写的服务监控程序实例
2015/01/31 Python
10种检测Python程序运行时间、CPU和内存占用的方法
2015/04/01 Python
合并百度影音的离线数据( with python 2.3)
2015/08/04 Python
Python画图学习入门教程
2016/07/01 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
宝拉珍选美国官网:Paula’s Choice美国
2018/01/07 全球购物
初中科学教学反思
2014/01/21 职场文书
管理提升方案
2014/06/04 职场文书
群众路线调研报告范文
2014/11/03 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
“5.12”护士节主持词
2015/07/04 职场文书
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技