一、过滤器的介绍
**1 概述**
(1)ue.js 允许你自定义过滤器,可被用于一些常见的文本格式化,比如说都转换成大写字母或者几乎做任何我们想做的事情。
(2)过滤器既可以在 **双花括号插值** 中使用,也可以在 **v-bind** 指令的 表达式 中使用。过滤器应该被添加在 JavaScript 表达式的尾部,由管道操作符“ | ”进行指示:
2.注意
filters 与 计算属性(computed),方法(methods)不同的是,filters 不会修改数据,只是改变渲染的结果。Vue 从 2.0 版本之后去除了内置的过滤器。所以我们在使用时需要自己去定义。
二、过滤器的使用
Vue 有两种不同的方式注册过滤器:①本地过滤器②全局过滤器。你可以跨所有组件访问全局过滤器,而本地过滤器只允许你在其定义的组件内部使用。
(1)全局过滤器
这里需要注意的是,使用全局过滤器时,必须要在 Vue 的实例之前。
(2)本地过滤器
我们可以把过滤器定义在当前使用的组件内。
(3)过滤器参数
过滤器会把表达式中的值始终当作函数的第一个参数。由于过滤器是一个函数,所以我们也可以额外的传入参数。
timeFilter 被定义为接收三个参数的过滤器函数。其中 time 的值作为第一个参数,普通字符串 ‘arg1’ 作为第二个参数,表达式 arg2 的值作为第三个参数。
(4)过滤器串连
timeFilterA 被定义为接收单个参数的过滤器函数,表达式 time 的值将作为参数传入到函数中。然后继续调用同样被定义为接收单个参数的过滤器函数timeFilterB,将 timeFilterA 的结果传递到 timeFilterB 中。简单的说就是串联使用时,会把第一个产生的结果,作为参数传递给第二个过滤器使用,以此类推。