描述

vue中可以设置filter(过滤器)来实现数据格式化,双花括号插值和 v-bind 表达式中使用
vue1.0的有默认的过滤器,但是在2.0的时候全部给去掉了
所以在vue中如果想要使用过滤器就需要自定义
自定义的方法有两种:全局定义和局部定义,
全局定义的过滤器在任意的实例、组件中都可以使用,
局部定义就是在实例、组件中定义,只能在这个实例或组件中使用

全局定义

Vue.filter(name,handler)
name是过滤器的名字,handler是数据格式化处理函数,接收的第一个参数就是要处理的数据,返回什么数据,格式化的结果就是什么
在模板中通过 | (管道符) 来使用,在过滤器名字后面加()来传参,参数会在handler函数中第二个及后面的形参来接收

  1. <p>{{msg | firstUpper(3,2)}}</p>
  2. Vue.filter('firstUpper',function (value,num=1,num2) {
  3. return value.substr(0,num).toUpperCase()+value.substr(num).toLowerCase()
  4. })

局部定义

在实例、组件的配置项中设置 filters,键名为过滤器名,值为handler

  1. filters:{
  2. firstUpper:function (value,num=1,num2) {
  3. return value.substr(0,num).toUpperCase()+value.substr(num).toLowerCase()
  4. }
  5. }