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 相关文章推荐
JS中的substring和substr函数的区别说明
May 07 Javascript
调整小数的格式保留小数点后两位
May 14 Javascript
JavaScript将一个数组插入到另一个数组的方法
Mar 19 Javascript
javascript基础知识分享之类与函数化
Feb 13 Javascript
JavaScript设计模式经典之命令模式
Feb 24 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
Jan 28 Javascript
jquery实现图片切换代码
Oct 13 Javascript
AngularJS学习第一篇 AngularJS基础知识
Feb 13 Javascript
webpack4实现不同的导出类型
Apr 09 Javascript
vue.js中ref及$refs的使用方法解析
Oct 08 Javascript
Vue的状态管理vuex使用方法详解
Feb 05 Javascript
vue prop传值类型检验方式
Jul 30 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
ubuntu10.04配置 nginx+php-fpm模式的详解
2013/06/03 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
PHP CodeIgniter框架的工作原理研究
2015/03/30 PHP
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
2016/09/21 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
JS及JQuery对Html内容编码,Html转义
2017/02/17 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
JavaScript实现刮刮乐效果
2020/11/01 Javascript
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
python paramiko模块学习分享
2017/08/23 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
django做form表单的数据验证过程详解
2019/07/26 Python
Python时间序列缺失值的处理方法(日期缺失填充)
2019/08/11 Python
python使用itchat模块给心爱的人每天发天气预报
2019/11/25 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
Python如何实现定时器功能
2020/05/28 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
空字符串(“”)和null的区别
2012/11/13 面试题
大学生职业生涯规划范文
2014/01/08 职场文书
个人工作主要事迹
2014/05/08 职场文书
2014年超市员工工作总结
2014/11/18 职场文书
2015年学生会纪检部工作总结
2015/03/31 职场文书
2016年情人节广告语
2016/01/28 职场文书
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫