Vue--过滤器(filters)

1.什么是过滤器?

我们转换格式来看,过滤器就是一个函数,传入值后再返回处理后的值

== 过滤器只能用在 v-bind表达式 和 插值表达式 中

2.过滤器的语法

过滤器分----全局过滤器 和 局部过滤器

  • Vue.filter("过滤器名",(值) => {return "返回处理后的值"})
  • filters:{"过滤器名字": (值) => {return "返回处理后的值"}}

现在我们来看一下过滤器的两个分类

全局过滤器:

下面代码写在mian.js中

// main.js
// 定义一个全局过滤器
Vue.filter("reverse", val => { return val.split("").reverse().join("") })

局部过滤器:

// App.vue
<template>
  <div>
      <!-- 过滤器:
      语法: {{值 | 过滤器名字}}

      全局过滤器:
      Vue.filter('过滤器名字',(值) => {return "返回处理后的值"})

      局部过滤器:
      filters: {过滤器名字: (值) => {return "返回处理后的值"}}
       -->
      {{msg}}
      <p>{{msg | reverse}}</p>
      <p :title="msg | reverse">鼠标长时间停留</p>
  </div>
</template>

<script>
export default {
    data() {
        return {
            msg: 'Hello,Word'
        }
    },
// 定义一个局部过滤器
    filters: {
      reverse: msg => {return msg.toUpperCase()}  
    }
}
</script>

<style>

</style>

输出的值:

 注意:

1.如果局部过滤器和全局过滤器的名字一样,会使用局部过滤器

2.全局注册最好在main.js中注册, 一处注册到处使用

 3.vue过滤器-传参和多个过滤器

  • 语法:

 过滤器传参: vue变量 | 过滤器(实参)

多个过滤器: vue变量 | 过滤器1 | 过滤器2

全局里面对过滤器传参:

// main.js
// 定义一个全局过滤器
Vue.filter("reverse", (val,a) => { return val.split("").reverse().join(a) })

局部过滤器里面添加过滤器:

// App.vue
<template>
  <div>
      <!-- 过滤器:
      语法: {{值 | 过滤器名字}}

      全局过滤器:
      Vue.filter('过滤器名字',(值) => {return "返回处理后的值"})

      局部过滤器:
      filters: {过滤器名字: (值) => {return "返回处理后的值"}}
       -->
      {{msg}}
      <p>{{msg | reverse('|')}}</p>
      <p :title="msg | toUp |reverse">鼠标长时间停留</p>
  </div>
</template>

<script>
export default {
    data() {
        return {
            msg: 'Hello,Word'
        }
    },
// 定义一个局部过滤器
    filters: {
      toUp: msg => {return msg.toUpperCase()}  
    }
}
</script>

<style>

</style>

输出结果:

  •  总结: 过滤器可以传参, 还可以对某个过滤器结果, 后面在使用一个过滤器
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值