00:00
好嘞,各位,那在这一小节呢,咱们来学一个比较简单的东西啊,叫做过滤器,我先声明啊各位,这个过滤器呢,不是一个你必须要用的东西啊,它只是view呢,给我们提供的一个新的数据处理的方式而已,你想用呢,你就用,哎,你不想用的这个代码呢,正常你拿计算属性啊,拿这个methods呀,代码也能写下去,OK,哎,不是一个你必须要用的东西,好,我们做一个效果啊,打开课件。过滤器,就是我要在页面上呢,显示一个格式化后的时间,你就比如说第一个时间只有年月日,哎,那第二个呢,还包含着十分秒,对吧?那这些时间都是通过谁来格式化出来的呢?哎,有一个东西呢,叫做时间戳是吧?那戳呢,我就不写了,对吧?那字儿太复杂了,我这画笔不好说,哎,时间戳大家还记得吧?哎,简单看一下各位来到浏览器的控制台里啊,清一下啊,这不是咱们写的代码,你就别关注了,给它清掉,我写了一个data.now同学,我是不是就获取到了当前时间的时间戳啊,就是现在是哪年哪月哪日啊,几分几秒都包含在这里边呢?这就是一个时间戳,时间戳直接展示出来,人们是看不懂的,我接下来就要做一个事情,把这时间戳翻译成一个正常的年月日十分秒的这么一个时间,OK,好,那来咱开始学习啊,回到代码当中啊,那在这儿呢,我先来一个H2啊,叫做显示格式化后的时间啊,然后。
01:27
得写一个维U实例去保存数据,来一个叫做time吧,啊,然后呢,我就把刚才这时间戳啊给它拿过来好了,复制往这一粘,让你看得明白一点啊,这确实是一个时间戳,哎,是这个戳啊来那直接显示是什么后果呢?咱看一下吧,各位,我写一个H3啊,然后叫做现在式,然后写个差值语法,把这个time呢直接拿过来,好,右键打开,我们看一眼啊,你看看不懂对吧?各位,哎,不知道这是什么东西啊来控制台呢,也打开,接下来我要做的事很简单,就是把这个东西加工一下,变成一个人们能看懂的时间,对不?那各位我问一下,就是你不学这个过滤器啊,我问你用计算属性能不能做。
02:09
能吧,各位,你看终归是拿着已经存在的一个属性计算出来一个全新的属性,那这个属性呢,是格式化之后的人们能看懂的,对不对?那我问各位,我封装一个方法,然后我配置在那个methods里面,我去调这个methods,然后把它加工一下行不行?行,所以说呢,接下来这样啊,我拿这个计算属性,我拿这个methods,我再拿这个过滤器,都给大家写写好吧,哎,大家也对比一下,那接下来啊,关注这个点吧各位,我怎么能把这一堆东西变成年月日十分秒那种形式呢?自己写能不能写呀,其实是可以的,各位,但是一般来说开发当中呢,我们一定会用一些第三方的库去做这事儿啊,给大家推荐几个啊,打开这个Bo c dn。这个网站大家应该都知道吧,BOTCDN啊,是一个免费的啊,这么一个提供一些比较好用的第三方库的这么一个网站啊,有这么几个库比较出名,第一个呢,叫做moment啊,这个moment呢是一个GS的日期处理类库,用于解析啊,检验呀,操作呀,以及什么显示日期对吧?啊,Moment它呢,其实做的是比较强大的,各位啊,他能对时间做出各种各样的处理,但是它的体积稍微有点大啊,它还有一个轻量化的一个解决方案叫什么呢?叫做day GS对吧?Day日子是吧,它是一个轻量级的对吧?和moments就刚才我说的那个人啊,API的设计完全是保持一致的啊,如果你用过那个moments啊,那这个day.gs呢,你也知道怎么用了,好,那我们用它吧,是吧,它体积小,好了,点开它。
03:39
那么首先呢,我得下载它,对吧,我不引入那个在线的样式啊各位,我引入在线的样式,万一你在没有网的情况下,那可能就没法操作了,所以说把它下载下来,复制链接,然后呢,敲一下,哎,就这么点啊源码来把它存一下,我就直接存在哪儿呢?存在我的这个工程里的JS里边,好吧,我直接存在这里边好了,保存啊,应该是下载完了给这个关掉,那它怎么用呢?各位这不有一个GI up仓库吗?我们点一下。
04:04
好,我们就打开了他的这个getit HUB这个主页啊,然后他怎么用呢?你得往下滑对吧?诶他这文档开始告诉你了,说兼容性还不错对吧?诶咱也别听他吹了,这不是有这个语言的切换吗?你点一下这个简体中文好了,你就跳到它这个中文的这个官网指南了,它的用法呢,很简单,就是只要你引入了点GS,你全局就多了一个数叫S啊,然后你可以去调用,调用它的时候注意各位,你在蓝色框,也就是它的时候,你把你要格式的时间戳给它传进去,然后呢,接下来就有各种方法供你使用了,那我们用哪个呢?用这个format format有什么意思呀,格式化的意思,好吧,来,那咱用用啊各位咱们呢,先拿那个计算属性写一写可以吧,好,我在这儿呢,写一个comput,那里边呢,我得给它起一个新的名字,比如说呢,我叫这个名吧,各位啊,F MT time什么意思呢?这个fmt的意思就是format格式化之后的,对吧?我用计算属性的简写方式好走,里边是不是得靠返回值去决定内容啊?
05:05
那这里边怎么写,各位开始啊,来回到这儿,你把这DGS呢给它调用一下,当然了,你没有引入呢,对吧?你这么写肯定会报错的,那引入它来走点点杠翻出去JS里的GS,点点JS压缩之后的好,那把谁传进去呢?把这个time要传进去,同学说说啊,如果你不传会怎样?你不传呀,他就把当前时间,就你运行这段代码的当前时间的时间戳呢拿到,然后去给你做格式化,但你要是传了呢,就以你传的为主,知道不传与不传,人家都能转化,你传了就转化你传的啊,那你不传呢,那我就格式化当前时间的,那这怎么写呀,This点是不是time,好,那接下来呢,同学就调那个format就可以了,如果对这个库有兴趣的小伙伴呢,自己下去呢,可以研究研究啊,好了复制,然后把它拿过来format格式化,那这个呢,就是属于格式化的一个模板了,对吧?同学,那前边这YYY啥意思呀,就是英文单词year代表年份,后边呢就是月份,Month,这呢就是诶日day对吧,后边那个。
06:05
HMS什么意思,就是十分秒对吧?好,那你这么一写之后呢,页面你别再展示time了,你展示的是计算出来的这个,你看看它行不行啊,回到页面,咱瞧一眼过滤器刷新,同学看年月日十分秒是不是出来了,那如果你不喜欢用这个杠,你可以去调整啊,给这个呢,给它删掉,诶叫做年,然后这块呢,叫做月,那这后边呢,再来一个日,好了,回来看效果对吧?诶借助维U开发者工具呢,咱们也去看一眼啊,来点开,各位瞧,这是我最原始的时间,这是计算属性计算出来的能看懂的时间,对吗?各位,也就是说同学我用计算属性是不是也可以实现这事儿啊,好走叫做计算属性实现,那还有一个办法也能实现,各位,就是我自己去配置一个方法,写在那个MYS里,好,我们复制一份啊,在这再来一个叫做methods实现啊,那methods,那同学我就换个名吧,对吧,你看计算属性直接就这么说,人家就。
07:05
明白了啊,是一个格式化的时间对吧?Methods呢,你最好体现出来它是一个methods,所以说呢,各位,我用这个名字啊,叫做get f MT time,你说啥意思,得到一个格式化后的时间对不对?就语义化一点嘛,哎,那既然是方法同学你就给亲自加小括号去调用,OK,把它的名字呢复制过来,这呢,再配置一个叫做MYS,然后把它写进去走里边干嘛呀,还得是靠返回值,返回什么呢?还是这一堆东西,你说对吧?各位啊,DJSz.time of,然后年月日什么的对吧?好,那把它呢复制一份上边呢?哎,这也写了,咱直接看效果吧。回到这儿,是不是都是一样的,各位控制台也没有什么警告和错误,对吧?计算属性能实现,Masters也能实现,对不对?各位,哎,那接下来呢,View又给我们提供了一种实现的方式,就是过滤器实现,好咱写一下啊,叫做过滤器实现,然后呢,它这个过滤器啊,挺有意思的啊,过滤器呢,它是这样要求你去写的,他说你想展示。
08:05
谁呀,你就直接写,说老师行,那我就听他的,我就想展示那个time,那老师我在这儿呢,我就直接写,行,你要是只写到这儿各位,那就是一串看不懂的数字,对吧?然后过滤器的写法呢,是这样,你先写正常你要展示的数据,这个数据你不是对格式不满意吗?你不是想处理它吗?看着敲一个空格,然后再敲一个管道符。说老师,啥叫管道符啊,同学,你写个你写过那个逻辑上的条件吧,你比如说窃或非,对吧,谁和谁同时成立叫妾,那他成立或者它成立那个或是不是这么敲的呀,是不是敲了两个数啊,其实它不叫数,各位人这玩意儿叫管道符啊,然后过滤器呢,你注意不用两个管道符,是用一个管道符,然后呢,写上过滤器的名字,这个名字是你自己定义的,比如说我的过滤器叫佩奇,行,哎,但是这玩意儿它毕竟不好听啊,对吧,我给这个过滤器呢起一个名字啊,叫做time form啥意思,时间格式化者对吧?哎,Form嘛,格式化器,或者叫格式化纸,哎,Time for matter,那说老师那你得定义一个过滤器啊,是的,过滤器的定义和comp和methods啊类似,也是写一个配置项来,那这样各位啊,我把这个配置项,这个配置项都折叠起来,不干扰你,哎,那这个过滤器呢,它的配置项名字啊,叫做filters,它的也是一个。
09:30
对,像这个值哈,然后里边怎么写呀,各位,诶说一下啊,过滤器的本质就是一个函数,所以说我这么一说大家就知道怎么写了,你把你的time for matter配置到这同学本质是个啥函数,写个函数是不得了,那为什么不用简写方式呢?是不是这么写呀?好说老师,那过滤器它能干嘛呀,它能对你的数据进行加工。也就是说各位,你28行这个代码呢,是这样执行的,首先它捕获到了你红色框里写的东西,首先它读取time,随后把time作为参数就传给了time for matter OK time for matter不是一个函数吗?函数不就能接收参数吗?舒老师,那听您这意思,Time for matter是you帮我调用的,那肯定啊。
10:18
那调完了time for之后,同学time for的返回值view呢就拿到了,拿到之后就直接把整个红色框全都替换掉,你体会体会,拿着time传给time form form的返回值直接替掉整个红色框里的差值语法最终实现了解析。所以说同学我要是这么说,你说他是不是能收到一个Y6值,Y6值是谁是time,说老师不对呀,不对不对,我这儿呢,没有写小括号,各位你这不写小括号,他也会帮你调的,OK,朱老师呢,听你这意思,好像还能写,对,其实也能写,但是呢,一会儿我们再说,我们先写一个最简单的,就你不写,同学他也会把这个time姆座位参数给它传进去,OK,说老师能吗?嗯,来验证一下啊,艾符,然后我输出谁的这个value,然后同学咱不是说了吗?这个time form me的返回值是不是把整个红色框给替掉啊,那我就返回一下,比如说我返回一个什么呢?叫做hello,行吧,来回头看页面走,各位。
11:17
你瞧收没收到东西,收到了,那页面展示的什么呢?Hello,为什么是hello啊,因为你这儿的返回值是hello,如果你要不配置这个过滤器,各位你看一下那个错误啊,什么不能够正常加载一个过滤器叫什么名字,Time for matter对不好了回来,所以说呢,你得给它,诶定义好说老师呢,我知道接下来怎么做了,就跟之前那逻辑其实是一样的,对,就是这堆东西给它复制好了,折叠起来给它写在这儿是不是就行了,但是呢,我不用在这写this.time了,对吧?诶这块可以简单一点,直接写谁呢?收到的value是不是就可以了?OK,那这句话呢,给它主调,同学你看这就是过滤器,对不好了回来你看效果是一样的,哎,所以说同学啊,你体会体会,并不一定说你非得在这三个人当中一决胜负,对吧?谁最好谁最不好同学,这只是多种方式而已,是不。
12:08
啊好,那我们再说说啊同学,这个过滤器呢,它也是可以传递参数的。你比如说啊,张三觉得你这个过滤器呢不错,张三也想把时间呢变成年月日十分秒的,那张三直接用你这个过滤器是不是就行啊,那比如说举个例子啊,说有一天呀,李四也相中你这过滤器了,但是李四的想法是只有年月日没有十分秒。那你说李四如果直接用你这个过滤器好像不太合适,因为你这个格式跟人家要的不一致啊,所以说他也可以怎么的传参数,你比如说我来写个小括号啊,就代表要传参了,然后呢,李四不是有自己的格式化标准吗?那李四就把他的格式化标准那字符串呢传进去,你比如说李四的要求是这样的,年完了下划线完了,月完了下划线,然后日后边没东西,同学我问一下,这是不是就把东西传进来了,那有些同学说老师那完了呀,那这value不就被抹杀了吗?诶是这样的啊各位time for matter这个过滤器如果你不加小括号,它也会安安稳稳的把你的这个数据传进去,那如果你加了小括号呢,那你听我说,各位这个time for,从表面上来说,好像你就传了一个参数,实际上呢,它能收到两个,第一个参数是亘古不变的。
13:22
过滤器的第一个参数就是过滤器管道符前边的数据,至于说你这又写了一个参数,各位那是后续的问题了,你可以再拿一个参数去接收,你比如说我用str代表字,哎,要格式化时间的那个格式化的模板字符我写在这儿,那你说这我就可以简单点写了,给这怎么呢,删掉这写个啥str是不是就可以了,但你这样写啊,同学有一个不太合适的地方,李四啊,这是行了,他传了一个年下划线,月下划线这种形式对吧?这儿呢能收到,然后这儿呢可以去解析,但是谁的就废了呢?张三,这个,那来咱看一眼啊,各位回头你瞧,说老师那也没有报错呀,但是你看这是什么呀,看这。
14:01
哎,什么5月21日,什么T什么加什么同学,这啥意思,中国那个什么东八区说老师这是啥情况呀,诶说一下各位,就是如果你没有船,你像这个是不是没有传,你没有传str就是就是没有值,相当于你form的时候,你并没有给人家指定你到底要什么格式的,那人家呢,就有一个通用的格式,就是这种。啊好了,回来那说老师,那这怎么办呀,老师,我得写个判断吧,就是如果str咋的是没有值的,那我就让它是什么年月日十分秒同学不用这么麻烦,ES6里边儿有一个型材默认值对吗?各位哎,我把这一堆呢给它复制过来。折叠给它放在这儿,同学这么写啥意思,我这么写的意思就是如果以后str有值,那就用你传过来的,那没有值呢,那我就用后边的这个对不?各位好了,这回你瞧一下,你看年月日十分秒,哎,这会儿是不是也可以,哎,这就是过滤器的什么呢?传参好了,给它复制。锁进调一下啊,写一个括号传参啊说老师那还有什么写法呢,还有一个小技巧,就是多个过滤器之间可以串联,哎,就有点像我们物理里边那个电路一样可以串联的,你就比如说啊各位现在一个新的需求啊又出现了,就是说呢,我只想要前边这个2021。
15:17
说老师那简单来,我教你老师就这啊,全给它删掉,OK,老师你搞定了,你看2021这不出来了吗?哎,同学你能想到这儿是非常不错的,就是在这我一改那不就成了吗?那我的意思呀,是这样,同学我想让你再多练一个过滤器,啥意思呢?这个time for matter呢,只是负责把时间戳转成一个正常的时间,然后我再弄出来一个过滤器干嘛呢?哎,就是把整个这个时间呢进行一个切割,哎,或者说的再点再简单一点啊,我再整一个过滤器,这个过滤器可以切割字符串,只保留字符串的前四位,哎,那怎么办?来到filters里,同学你看人这名FILTER4对吧,里边能写多个,好了,再来一个,那这呢写一个小逗号,那给它起个名字吧,啊,叫做my slice,我的截取嘛,是吧,然后他呢,是这么工作的,删掉,这会儿呢也删掉,他拿到东西之后啊,很简单就是value.slice截取前四位,我这么写是不是就行,哎,那这个时候呢,你把这个M。
16:17
Less再往后写,同学一定看好这分格啊,别写错了,是在这儿来个空格管道符,再写一个my less说老师呢,他工作的流程是是这样的,各位首先拿着time交给红色的time for matter time for matter,工作之后的结果继续往下传,传给谁MY,值得你注意的是同学这个time不会交给MY直接处理的,是一层一层的,明白不?哎,就像你在公司呢,你请假呀,或者是你报销啊,他得走一个流程,对吧?部门主管是吧?然后什么研发主管,然后什么什么总经理,哎,就一层一层来的,OK,好,那你这样写完了呢,你看一下页面的效果,同学,2021是不是出来了?哎,这就是多个过滤器的串联,说老师那这不还传参数了吗?各位传参数也不影响啊,再给你说一遍啊,同学,Time作为time for matter的第一个参数传进去了,然后你所写的这个呢,就作为第二个参数传给time for matter,至于说传给这个粉色的MY。
17:17
是什么同学完全靠这的返回值在代码上再给大家画一遍time呢?先传给了绿色的time form matter time form,返回的红色的值继续往下传,传给了谁呢?这个橙色的mylice OK,就是这么一个流程,嗯,说老师,那就是全部的内容了呗,不是,既然都说到这个过滤器了,各位我还得跟你说一下,你现在所写的这些过滤器,你看看你都写在哪了。你是不是写在了new view的时候,你所写的一个filter配置项啊,那我得这么说,所有绿色框里的过滤器都是属于局部过滤器,老师,局部怎么理解呀?局部的意思就是你绿色框里边这两个过滤器只有谁能用这个红色的实例。
18:07
如果再出现一个实例,就不能够去使用你这两个过滤器了,那我知道当我话说到这的时候,有些同学就开始反驳我了,老师啊,谁当年张个大嘴跟我说的呀,哎呀,一个应用理念有一个viewu实力就够了,嗯,是我说的,老师,那我看你还怎么解释呢,对吧?你表演不下去了吧,你之前告诉我一个应用有一个VM就够了,现在你又来了一个理论,说有两个VM呢,那第一个能用这两个过滤器,第二个用不了,那我看你怎么解释啊,各位你听我说啊,以后啊,确实只有一个VM实例,但是一再强调各位,我们没有学到这个概念的叫组件,以后啊是有多个组件的,明白不?各位说老师,组件和这VM它到底是啥关系啊?同学,我给你粗略的解释一下,一个组件就是一个V型的VM,它比VM身上少了一些东西,它是一个小型的V,那同学这明白了吧,以后我只有一个这个大的V,但是组可是多个的,你比如说个例子,各位,我有一个A组。
19:07
还有一个B组件,你在A组件里面呢,配置了一个这个过滤器,比如说叫做DEMO,你在这个B组件里面也配置了一个过滤器,叫做test,那你听我说啊,各位A就用不了。B就用不了DEMO。这回明白了吧,哎,所以说同学呢,怎么配置一个全局的过滤器呢?在这先写好处,是啊,叫做局部的过滤器,那全局的怎么玩啊,各位你瞧着,首先我验证一下是不是这个东西真是局部的,来开始啊,我已经有了一个容器了,对吧,我再整出来一个VM组件,不就是一个V型的VM吗?那我现在就整两个VM对吧?现在吧,你就别挑这事儿了,说老师你这不不可能啊,那真实开发它不是就一个吗?对吧?这不模拟的吗?RO2,然后里边呢,你看着啊,我写一个什么呢?我写一个这个欢迎词吧,对吧,我就直接写一个这个message吧,MS,这是ROOT2了吧,你看着我再创建一个view实例在这,然后呢,叫做MSG,这里边呢,这么写,Hello,艾特硅谷,再来个感叹号行吧,好了,这会得改一下,是RO2。
20:15
那你看一下现在这个效果应该是没有什么问题的,对吧?Hello,艾特硅谷啊,那你打开VIVO的开发者工具,同学,你看两个VM是不是出现了,哎,是不是都在这呢?来同学啊,Hello at特硅谷啊,太长了,我只想展示前面的h he lo啊,或者是he,就这四个,那咋办?是不是可以用一下我这个过滤器啊,那怎么用在这儿管道符写名对吧?但是现在问题就出现了,同学,你看他报了一个错误,说不能够找到什么呢?一个过滤器叫MY莱,你看这儿也没有给你截取,对不?这就强有力的证明了怎么的,这个MY,这个time for都是局部的过滤器。来吧同学,不墨迹了,说说全局的过滤器怎么配置,你可以这么写,View点儿。同学,有一个东西叫做filter,值得你注意的是啊,各位配置项里的叫做filters,里边可以写多个全局的叫做filter,你得一个一个来,接下来呢,我就把这个mylice这个过滤器呢,定义成全局的,你就可以这么玩view.filter调用。
21:15
开始注册你的过滤器,先传递名字叫做myce,随后再写它对应的那个函数,走函数同样会收到value,里边的处理逻辑是同样的,也是截取前四位。好了各位,那你说这个过滤器我是不是就可以省一省了,对不?那我这么一写,同学是不是写在全局了呀?值得你注意的是,你必须在new view之前就整好这过滤器,同学你想嘛,先把东西准备好,完了我再去创建实例,完了再用嘛,对吧?好了,写好处释,这叫做全局的过滤器。好,那这回你看一下各位EL是不是截取出来了,这2021是不是也截取出来了?OK,同学,这就是全局的过滤器啊,那这里边还有一个小小的点啊,各位可能大家就觉得老师那明白了,过滤器啊,只能用在差值语法里,同学说,老师你看你写这个,看这一堆,还有这这不全是差值吗?不是同学,它还有一个地方可以用来。
22:15
我们写一下啊,你比如说呢,我拿这个第一个view实例呢举例子啊,同学你比如说呢,我这有一个URL,哎,URL是一个这个地址是吧,在这呢,别忘了写这个小逗号啊呃,我看看URL,别写URL了,同学啊,咱写一个那个别的吧,你比如说呢,还是写一个MSG啊,但是这回呢,写成一个中文的叫做你好上硅谷,OK,有这个MSG了是吧?好,那你看着啊,我想把它展示到这个页面上,但是我的这个展示啊,不作为差值语法这种展示,舒老师那什么意思呢?你比如说啊,我这么写,同学我写一个H3上硅谷,然后里边呢有一个动态的标签属性,听我说啊,动态的标签属性叫做X,它的值呢,我想读取这个里边的东西叫做你好上硅谷读出来。
23:03
那我得咋写,各位动态绑定是不是得来一个V杠半的,然后用简写方式写谁MSG,那这时候呢,你注意观察一下啊,右键检查应该是这个右键检查,你看一下,诶同学X你好,上硅谷是不是来了,但是现在我绑定X这个MXG的时候呀,我只想要它的前四位,就是你好逗号上只要这四个,那怎么办?你可以去写这个过滤器,也就是在这空格来个管道符,然后再写谁呢?Mylice它也是可以的,好了,保存回到这呢,刷新一波各位你看你好逗好上对吧?诶在这儿呢也能用,但是这种用法啊同学很罕见啊,几乎我们不会去用的,说老师能明白了,就是配合别的也行,对吧?老师v model也行,哎哟,那可不行啊,各位来你瞧一下,你写了一个input,然后你利用那个双向数据绑定啊,那个v model你绑定到哪了呢?咱们这个MSG身上,嗯,你看一下啊,现在一上来它是不是应该有这个值啊,说老师那我绑定的时候呀,我只想要什么呢?他的前四位老师,那我就这么。
24:03
写吧,来走,再来一个my slice老师,这回不就得了吗?同学报错不允许这么玩,OK,哎,所以说同学这个,呃,过滤器呢,它有两种用法,一个是差值语法,一个是V杠半的,对吧,你像这个v model它是不可以的,它是不支持的,好吧,来我们总结一波,各位读一下定义,过滤器呢,就是要对显示的数据进行特定格式化后,诶,然后再显示。你有数据,我给你格式化一下,然后再显示,哎,适用于一些简单逻辑的处理,知道吧,各位,过于复杂的你不要往这里写,老师过于复杂的怎么办呀?反正你应该用一下这个计算属性,或者用这个方法,你说对吧,这只是做一个浅层次的一个简单的处理,你就比如说各位啊,咱们在做那个电商网站的时候,都有商品的金额吧,你比如说呃,1999,有的时候呢,我们需要给它整理成什么格式呢?一逗号999,你说对不?诶你像这种简单的处理文本都可以用谁呢?过滤器,那语法就是注册对吧,这是全局注册,这是局部注册,诶那这个呢,就是使用呗,这是正常的一个差值语法里边使同学这种场景是用的最多的,那这个V-B的属性等于谁?过滤器名同学这个用法少,OK,来再来一个备注,就是过滤器也可以接受额外的参数,啥叫额外的参数本身就能接收一个啥呀,Time对吧?多个过滤器呢,也是可以串联的。再读第二句,过滤器是并没有改变原本数据的,啥意思呢?各位,就是你打开看我那个T。
25:31
字母自始至终都是这个时间戳,对不?这些东西都是咋的算出来的?哎,没有改变原数据,是产生新的数据,好了各位啊,这个过滤器呢,同学就有一种感觉啊,就有他没他都能写代码,明白不?哎就比如说你吃饭的时候喜欢诶喝点小酒对吧,那酒没有也不耽误你正常吃饭是吧?各位好了,这一小节停。
我来说两句