要点:
使用场景:比如电商网站要对大量的数字进行比如1999到1,999的转变则可以定义一个简单的过滤器
小案例:
这两个时间都是由一个时间戳的生成的
时间戳用第三方库来实现
这个比较大文件
这个是轻量化的
使用方法:
复制链接把他保存在对应的文件中
再打开GitHub仓库
往下划到底点击简体中文
调用day方法在里面传入时间戳参数就可以进行各种操作了
如果不传的话它就会默认传入运行该段代码时的时间戳传入进去进行操作
用计算属性编写:
过滤器的写法:
time表示对应的属性,timeFormater 表示过滤器的名字
定义过滤器
、
过滤器的本质就是一个函数
工作原理:把time放入timeformater里进行方法调用,把输入的返回值把这个插入值替代掉
验证:
所以实现
三种方法实现:
进行过滤比如另一个只显示年月日
则加入一个参数 ,但在过滤器上加一个参数并不是,因为它 把之前那个time的参数给覆盖掉了
而是会有两个参数,一个参数就是亘古不变的time还有个就是要新加的过滤形式
如果这样写的话第一个就对
这边,value就是time,但是第一个后面没有参数,就是说第二个参数str为空,为undefined,所以day就会显示一个默认的显示格式
所以解决这个问题只需要,加一个形参默认值就行
现在有个功能要实现:
用过滤器的串联写法
在上一个已经输入时间的基础上截取前面四个字符就是年份
他这边的方法调用是一层一层来的
这样写是一个局部的过滤器
全局过滤器:
这边配置时filter没有加s所以只能一个一个配
第一个参数为定义过滤器的名字,第二个参数是过滤器的方法
vue.filer('myslice',function(value){
return value.slice(0,4)
})
必须要写在vue实例的前面!!!!!!!!!!!!!!!!!!!!!!
不光在插值语句中能用
在控件属性中也能使用
加了动态属性 即v-bind:x=“msg | mySlice”
但是v-model中使用不了
总结: