vue过滤器filter

过滤器实质:

不改变原始数据,只是对数据进行加工处理后返回过滤后的数据再进行调用处理

用在两个地方:

<!-- 双花括号-->
{{ message | capitalize }}//capitalize为过滤器名字

<!-- `v-bind` -->
<div v-bind:id="rawId | capitalize "></div>

            多过滤器、多参数:
           {{ message | filterA | filterB }}---多过滤器(message传入 filterA ,filterA 结果传 filterB )

           {{ message | filterA('arg1', arg2) }}---过滤器多参数(参数message,arg1,arg2)

局部过滤器、全局过滤器:

注意:当全局过滤器和局部过滤器重名时,会采用局部过滤器

局部过滤器:

filters: {
  capitalize: function (value) {
          if (!value) return ''
          value = value.toString()
          return value.charAt(0).toUpperCase() + value.slice(1)
  }
}

全局过滤器:

Vue.filter('capitalize', function (value) {
       if (!value) return ''
        value = value.toString()
       return value.charAt(0).toUpperCase() + value.slice(1)
})

eg:

例子1:vue计算属性中使用filter

<li v-for="n in evenNumbers">{{ n }}</li>

data: {
  numbers: [ 1, 2, 3, 4, 5 ]
},
computed: {
  evenNumbers: function () {
    return this.numbers.filter(function (number) {
      return number % 2 === 0
    })
  }
}

例子2:函数中使用filter

<ul v-for="set in sets">
  <li v-for="n in even(set)">{{ n }}</li>
</ul>

data: {
  sets: [[ 1, 2, 3, 4, 5 ], [6, 7, 8, 9, 10]]
},
methods: {
 
 even: function (numbers) {
    return numbers.filter(function (number) {
      return number % 2 === 0
    })
  }
 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值