Vue过滤器-filter

过滤器,过滤东西呗.
把一个值丢进过滤器,然后过滤器对此值进行过滤.返回过滤后的数据.


Vue过滤器分全局过滤器和组件过滤器.

全局过滤器.

定义

// 第一个参数是需要过滤的数据.
// 第二个参数是给过滤器传递的值.
  Vue.filter('global-filter',(val,...args)=>{
    console.log(`需要过滤的数据是:${val}`)
    return val + ' 过滤器追加的数据'
  })
var app = new Vue({
    el: '#app',
    data: {
      price:null,
      oldValue: '原始数据'
    })
 <div id='app'>
    <p>{{oldValue | global-filter}}</p>
  </div>

注意,过滤器在插值表达式里使用 lunix 命令行的管道语法.

{{ oldValue | global-filter }}

oldValue 的值原封不动的传递给 global-filter.

global-filter 方法定义里,第一个参数 val 就是 oldValue

结果:

过滤结果

当然,过滤器本来就是一个方法,方法肯定是可以传参数的.

 Vue.filter('global-filter',(val,...args)=>{[图片上传中...(15445114994941.jpg-9fecae-1544511784154-0)]

    args.forEach(item=>{
      val += ` ${item} - `
    })
    return val + ' 过滤器追加的数据'
  })
 <div id='app'>
    <p>{{oldValue | global-filter(1,2,3,4,5)}}</p>
  </div>

结果

给过滤器传递参数

组件过滤器

全局过滤器通过 Vue.filter('filtername',fliterFn) 来定义,它定义好了之后,在所有的组件内都可以使用.

局部过滤器,定义在组件内部 filters 属性上.它只能在此组件内部使用.

具体语法:

 var app = new Vue({
    el: '#app',
    data: {
      price:null,
      oldValue: '原始数据'
    },
    methods: {},
    // 定义组件过滤器
    filters: {
      priceFmt(val,location) {
        switch(location) {
          case 'usa':
            return '$' + val
            break
          default:
          return val
        }
      }

    })

除了使用范围不同,全局过滤器和组件过滤器没有任何其他的区别.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 此笔记关于filter的官方文档的一些讲解及个人的一些拓展 简单介绍一下过滤器,顾名思义,过滤就是一个数据经过了这...
    chenjieyi阅读 174,063评论 21 62
  • 过滤器filter可使用在花括号{{ } 和v-bind表达式两个地方;放在管道 |的后面。 过滤器表达式总是接收...
    嗨姑娘_大个子阅读 5,170评论 0 1
  • 作用:在不改变数据的情况下,输出前段需要的格式数据 过滤器的自定义方法: 过滤器的调用{{ 变量 | sum }}...
    xlayzheng阅读 4,258评论 0 0
  • 一对铃铛,一个是龙铃,可以发出一种声音,一个是凤铃,可以发出另外一种声音。 分阴阳的,当他们合在一起的时候,可以发...
    伐伐Eve阅读 6,387评论 0 10
  • 在过去的短短一周,随着EOS COIN投票数的增加,年化收益也迅速被稀释,今天大部分节点的收益下降到300-400...
    童_刚阅读 3,607评论 0 0