vue项目实战(四):过滤器filters

本文深入探讨了Vue.js中过滤器的应用,包括局部过滤器和全局过滤器的声明与使用方式,以及如何通过过滤器对数据进行格式化处理,特别关注了多参数传递的实现细节。

过滤器的作用:对后端返回的数据进行添油加醋,分为局部过滤器和全局过滤器。在项目中全局过滤器的使用非常的广泛。

一、局部过滤器

1-声明过滤器:filters

我们先创建如下的全局组件,给一个数据price,绑定到input上。然受在局部组件的filters中声明我们的过滤器(也就是一个函数)。

   Vue.component("App",{
     data(){
       return {
         price:0
       }
     },
     template:`
        <div>
          <input type="number" v-model="price"/>
          <h3></h3>
        </div>
     `,
     filters:{
       //1-声明过滤器
       myCurrentcy:function(value){
         return "¥"+value;
       }
     }
   });

2-使用过滤器{{数据属性|过滤器名}}

我们在该组件的模板中使用该过滤器

		//2-使用过滤器
     template:`
        <div>
          <input type="number" v-model="price"/>
          <h3>{{price|filter1}}</h3>
        </div>
     `,

3-使用效果:

在这里插入图片描述

二、全局过滤器

1-声明全局过滤器Vue.filter(名称,函数)

我们使用如下代码创建一个名为filter2的过滤器,接受value值并返回其反转后的值。

   Vue.filter('filter2', function(value){
     return value.split('').reverse().join('');
   });

2-使用全局过滤器

我们使用如下代码调用过滤器处理msg数据

   Vue.component("App",{
     data(){
       return {
         msg:"hello filter"
       }
     },
     template:`
        <div>
          <!--调用全局过滤器-->
          <h3>{{msg|filter2}}</h3>
        </div>
     `

3-使用效果

在这里插入图片描述

三、细节探讨:多参数传递的实现

对上面的全局过滤器,{{msg|filter2}}msg作为第一个参数传递给filter2的函数的参数value,那么如果我们此时还有一个参数msg2呢?
我们使用如下参数传递msg2

{{msg|filter2(msg2)}}

在过滤器中,我们新开一个参数val2进行接收

   Vue.filter('filter2', function(value, val2){
     return val2+value.split('').reverse().join('');
   });

效果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值