当前位置: 首页 > Web前端 > JavaScript

浅谈VUE中的过滤器

时间:2023-03-26 23:44:32 JavaScript

过滤器的本质是方法其实过滤器的本质是方法,这个不难理解。就形象而言,过滤器就像化学实验中的漏斗。利用杂质提取你想要的物质。抽象地讲,过滤器是在Vue中按照约定的格式编写代码并实现相关功能的一种特殊方式。但是在实际过程中,vue的过滤器并不像真实漏斗的简单过滤那么简单。一般来说,真正的漏斗是在已有的基础上过滤掉已有的东西。可以忽略的是物质本身没有变化。这只是一个简单的过滤器。vue中的过滤器可以理解为深度(复杂)过滤。可以认为vue中的过滤器可以在不改变数据本身的情况下,在已有的基础上过滤掉已有的数据,或者为了得到预期的数据,进行一些改变,也就是说过滤就是一种改变。这种变化是可以预测的,并以特定的方式实施。Filter编写普通模板filter实现显示代码{{待过滤变量|filtername}}

//Filter一般用在Mustache语法中,也叫花括号语法//需要过滤的变量一般是显示的数据//过滤器名本质上就是方法名。上面提到的过滤器也是一种特殊的方法。局部过滤器实现函数代码filters:{Filtername:function(val){//这部分是实现filter方法的过程,要看你想要的效果}}全局过滤器实现函数代码Vue.filter('过滤器名称',function(parameter){//这部分是filter方法实现的过程,就看你想要什么效果了})123globalfilter的写法真的是将时间戳转换成标准时间filter实现的案例显示代码{{要过滤的变量|dateFormat}}//Filter一般用Mustache语法,也叫花括号语法//需要过滤的变量一般是显示的数据//过滤器的名字本质上就是方法名。上面提到的过滤器也是一种特殊的方法。过滤器实现函数代码Vue.filter('dateFormat',function(Val){constdt=newDate(Val)consty=dt.getFullYear()constm=(dt.getMonth()+1+'').padStart(2,'0')constd=(dt.getDate()+'').padStart(2,'0')consthh=(dt.getHours()+'').padStart(2,'0')constmm=(dt.getMinutes()+'').padStart(2,'0')constss=(dt.getSeconds()+'').padStart(2,'0')返回`${y}-${m}-${d}${hh}:${mm}:${ss}`})filter是增强型过滤器,也就是官网提到的“over过滤器可以串联》增强型过滤器实现显示代码{{message|filter1|filter2}}//增强型过滤器的意义在于变量过于复杂,需要反复过滤,本例中定义了filter1接收单个参数的过滤函数,表达式message的值会作为参数传入函数,然后继续调用过滤函数filter2,也定义为接收单个参数,并传递filter1到filter2的结果。一个filter是一个JavaScript函数,因此可以接收参数:{{message|filter1('arg1',arg2)}}这里,filter1定义为一个filter函数,接收三个参数值ofmessage作为第一个参数,普通字符串'arg1'作为第二个参数,表达式arg2的值作为第三个参数,这篇文章是我对Vue初学过滤器的一些感悟,如果有有什么不足之处,请多多指教。过滤器的官方教程可以参考Vue官网:Vue官网-->过滤器