一文详解Vue中过滤器filters的使用

 更新时间:2023年04月23日 10:06:27   作者:夏志121  
Vue.js允许自定义过滤器,过滤器的作用可被用于一些常见的文本格式化(也就是修饰文本,但是文本内容不会改变),本文主要来和大家讲讲过滤器filters的使用,感兴趣的可以了解一下

Vue.js允许自定义过滤器,过滤器的作用可被用于一些常见的文本格式化(也就是修饰文本,但是文本内容不会改变)

过滤器可以用在两个地方:双花括号插值或v-bind表达式

一、局部过滤器

局部过滤器使用示例:

    <div id="root">
        <p>电脑价格:{{price | addPriceIcon}}</p>
    </div>
    <script>
        Vue.config.productionTip = false;
        const vm = new Vue({
            el: '#root',
            data: {
                price:200
            },
            filters: {
                //处理函数
                addPriceIcon(value){
                    console.log(value);
                    return '¥' + value;
                }
 
            }
        })
    </script>

执行结果:

这段代码的需求是在价格前面加上人民币符号(¥)。模板中文版(price)后边需要添加管道符号(|)作为分隔,管道符(|)后边是文本的处理函数(addPriceIcon),处理函数的第一个参数是管道符前边的文本内容(price)。        

二、全局过滤器

全局过滤器使用示例:

    <div id="root">
        <p>电脑价格:{{price | addPriceIcon}}</p>
    </div>
    <script>
        Vue.config.productionTip = false;
        Vue.filter("addPriceIcon",(value)=>{
            return '¥' + value;
        })
        const vm = new Vue({
            el: '#root',
            data: {
                price:200
            }
        })
    </script>

执行结果:

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

三、过滤器串联

过滤器还可以串联,例如:

{{price | filterA  | filterB}}

filterA被定义为接收单个参数的过滤器参数,表达式price的值将被作为参数传入参数。然后继续调用同样被定义接收单个参数的过滤器函数filterB,将filterA的结果传递到filterB中。

过滤器串联示例:

    <div id="root">
        <p>电脑价格:{{price | addPriceIcon | addChinesePriceIcon}}</p>
    </div>
    <script>
        Vue.config.productionTip = false;
        Vue.filter("addPriceIcon",(value)=>{
            return '¥' + value;
        })
        Vue.filter("addChinesePriceIcon",(value)=>{
            return '人民币' + value;
        })
        const vm = new Vue({
            el: '#root',
            data: {
                price:200
            }
        })
    </script>

执行结果:

四、过滤器接收多个参数 

过滤器是JavaScript函数,因此可以接收两个参数:

{{ price | filterA(arg) }}

filterA被定义为接收两个参数的过滤器参数。其中price的值作为第一个参数,表达式arg的值可作为第二个参数,也可接收多个参数

过滤器接收两个参数示例:

    <div id="root">
        <p>电脑价格:{{price | addPriceIcon(unit)}}</p>
    </div>
    <script>
        Vue.config.productionTip = false;
        const vm = new Vue({
            el: '#root',
            data: {
                price:200,
                unit:"(元)"
            },
            filters: {
                // 处理函数
                addPriceIcon(value1,value2){
                    return '¥' + value1 + value2;
                }
            }
        })
    </script>

执行结果:

过滤器接收多个参数示例:

    <div id="root">
        {{al | filterAa(a2,a3,...an...)}}
    </div>
    <script>
        filters: {
            // 处理函数
            addPriceIcon(a1,a2,a3,...an...){
                //a1是传入的第1个参数
                //a2是传入的第2个参数
                //a3是传入的第3个参数
                //......
                //an是传入的第n个参数
            }
    </script>

以上就是一文详解Vue中过滤器filters的使用的详细内容,更多关于Vue过滤器filters的资料请关注脚本之家其它相关文章!

相关文章

  • 如何让vue长列表快速加载

    如何让vue长列表快速加载

    这篇文章主要介绍了如何让vue长列表快速加载,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下
    2021-03-03
  • 解决IOS端微信H5页面软键盘弹起后页面下方留白的问题

    解决IOS端微信H5页面软键盘弹起后页面下方留白的问题

    微信H5项目,ios端出现了软键盘输完隐藏后页面不会回弹,下方会有一大块留白。这篇文章主要介绍了决微信H5页面软键盘弹起后页面下方留白的问题(iOS端) ,需要的朋友可以参考下
    2019-06-06
  • vue实现节点增删改功能

    vue实现节点增删改功能

    这篇文章主要为大家详细介绍了vue实现节点增删改功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • 基于element日历组件实现签卡记录

    基于element日历组件实现签卡记录

    这篇文章主要为大家详细介绍了基于element日历组件实现签卡记录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • vue项目记录锁定和解锁功能实现

    vue项目记录锁定和解锁功能实现

    这篇文章主要为大家详细介绍了vue项目记录锁定和解锁功能实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • uniapp引入模块化js文件和非模块化js文件的四种方式

    uniapp引入模块化js文件和非模块化js文件的四种方式

    这篇文章主要介绍了uniapp引入模块化js文件和非模块化js文件的四种方式,本文结合实例代码给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-11-11
  • Vue2中引入使用ElementUI的教程详解

    Vue2中引入使用ElementUI的教程详解

    这篇文章主要为大家详细介绍了Vue2中引入使用ElementUI教程的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的可以参考下
    2024-03-03
  • vue组件props属性监听不到值变化问题

    vue组件props属性监听不到值变化问题

    这篇文章主要介绍了vue组件props属性监听不到值变化问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue中this.$confirm的使用及说明

    vue中this.$confirm的使用及说明

    这篇文章主要介绍了vue中this.$confirm的使用及说明方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • nuxt 服务器渲染动态设置 title和seo关键字的操作

    nuxt 服务器渲染动态设置 title和seo关键字的操作

    这篇文章主要介绍了nuxt 服务器渲染动态设置 title和seo关键字的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论