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 Ajax 全解析
Feb 08 Javascript
学习ExtJS TextField常用方法
Oct 07 Javascript
模仿JQuery.extend函数扩展自己对象的js代码
Dec 09 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
Mar 29 Javascript
可自定义速度的js图片无缝滚动示例分享
Jan 20 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
Nov 25 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
Jan 10 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
Feb 01 Javascript
ES6 系列之 Generator 的自动执行的方法示例
Oct 19 Javascript
基于vue.js实现分页查询功能
Dec 29 Javascript
解决layer弹出层自适应页面大小的问题
Sep 16 Javascript
Javascript实现鼠标点击冒泡特效
Dec 24 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
基于mysql的bbs设计(四)
2006/10/09 PHP
基于数据库的在线人数,日访问量等统计
2006/10/09 PHP
php反弹shell实现代码
2009/04/22 PHP
php设计模式 Builder(建造者模式)
2011/06/26 PHP
php支付宝手机网页支付类实例
2015/03/04 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
PHP 中TP5 Request 请求对象的实例详解
2017/07/31 PHP
PHP7下协程的实现方法详解
2017/12/17 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
javascript new fun的执行过程
2010/08/05 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
Python3实现生成随机密码的方法
2014/08/23 Python
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
Python中的 enum 模块源码详析
2019/01/09 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
python中round函数如何使用
2020/06/19 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
详解HTML5 window.postMessage与跨域
2017/05/11 HTML / CSS
化工专业个人的求职信范文
2013/11/28 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
2015教师个人年度工作总结
2015/10/23 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers