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 相关文章推荐
seajs1.3.0源码解析之module依赖有序加载
Nov 07 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
Nov 07 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
Sep 21 Javascript
jquery可定制的在线UEditor编辑器
Nov 17 Javascript
javascript事件处理模型实例说明
May 31 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
Feb 22 Javascript
webpack配置文件和常用配置项介绍
Apr 28 Javascript
JS实现给json数组动态赋值的方法示例
Mar 19 Javascript
如何重置vue打印变量的显示方式
Dec 06 Javascript
vue引入ueditor及node后台配置详解
Jan 03 Javascript
React Native日期时间选择组件的示例代码
Apr 27 Javascript
前端防止用户重复提交js实现代码示例
Sep 07 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 注释规范
2012/03/29 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
2014/05/06 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
Ubuntu 16.04下安装PHP 7过程详解
2017/03/28 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
2009/10/29 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
javascript变量提升和闭包理解
2018/03/12 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
微信小程序中时间戳和日期的相互转换问题
2018/07/09 Javascript
用npm-run实现自动化任务的方法示例
2019/01/14 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
vue实现商城秒杀倒计时功能
2019/12/12 Javascript
python用reduce和map把字符串转为数字的方法
2016/12/19 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
python GUI实例学习
2017/11/21 Python
Python 实现两个列表里元素对应相乘的方法
2018/11/14 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
Django框架创建mysql连接与使用示例
2019/07/29 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
python 线程的五个状态
2020/09/22 Python
python中二分查找法的实现方法
2020/12/06 Python
电子商务专业毕业生工作推荐信
2013/11/17 职场文书
培训心得体会
2013/12/29 职场文书
生物科学专业职业规划书范文
2014/02/11 职场文书
建设投标担保书
2014/05/13 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
教师正风肃纪剖析材料
2014/10/20 职场文书
2014年转正工作总结
2014/11/08 职场文书
vue首次渲染全过程
2021/04/21 Vue.js