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 相关文章推荐
在视频前插入广告
Nov 20 Javascript
jquery ui dialog实现弹窗特效的思路及代码
Aug 03 Javascript
Javascript实现信息滚动效果
May 18 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
Jun 16 jQuery
Vue 2.0的数据依赖实现原理代码简析
Jul 10 Javascript
JS中的BOM应用
Feb 02 Javascript
详解Vue中watch的高级用法
May 02 Javascript
详解webpack4多入口、多页面项目构建案例
May 25 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
Jan 23 Javascript
详解vue项目中使用token的身份验证的简单实践
Mar 08 Javascript
微信小程序实现的绘制table表格功能示例
Apr 26 Javascript
vue读取本地的excel文件并显示在网页上方法示例
May 29 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需登录的文件上传管理系统
2020/03/21 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
基于jquery的一个图片hover的插件
2010/04/24 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
jQuery实现淡入淡出二级下拉导航菜单的方法
2015/08/28 Javascript
JS button按钮实现submit按钮提交效果
2016/11/01 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
2018/07/19 Javascript
JavaScript插入排序算法原理与实现方法示例
2018/08/06 Javascript
详解如何在Angular优雅编写HTTP请求
2018/12/05 Javascript
ajaxfileupload.js实现上传文件功能
2019/04/19 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
微信小程序canvas实现签名功能
2021/01/19 Javascript
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
详解Python中的多线程编程
2015/04/09 Python
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
python如何修改装饰器中参数
2018/03/20 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
python高级特性简介
2020/08/13 Python
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
shell程序中如何注释
2012/02/17 面试题
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
作文评语集锦
2014/12/25 职场文书
写给医生的感谢信
2015/01/22 职场文书
个人原因辞职信模板
2015/05/13 职场文书
交通事故赔偿起诉书
2015/05/20 职场文书
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS