【Vue】第六部分 过滤器

本文详细介绍了Vue.js中的过滤器,包括全局和局部过滤器的创建及使用方法。通过案例展示了如何利用过滤器进行时间格式化,以及过滤器串联使用。过滤器在不改变原始数据的情况下,提供了数据格式化的便捷方式。同时,文章提供了具体的代码示例,帮助读者理解和应用Vue过滤器。
摘要由CSDN通过智能技术生成

【Vue】第六部分 过滤器



6. 过滤器

案例中使用到时间格式相关API


6.1 对过滤器的理解

定义:对要显示的数据进行特定格式化后在显示

适用:做一些简单的逻辑处理

特点:滤器可以做一些简单操作,并且没有改变原来的数据,产生新的对应的数据


1. 语法 : data | 过滤器

不传参数默认将data值传入,并且自动调用函数,函数可接收到value

传参数并不会覆盖掉第一个参数,第一个参数默认是value,第二个参数才是 传入的参数

2. 滤器可以以串联的形式

data | 过滤器 | 过滤器

执行的顺序是将data当做参数传入到第一个过滤器中,第一个过滤器处理完,返回的

值作为第二个过滤器的参数

6.2 全局过滤器:

Vue.filter(filterName, function(value){
  return value.slice(0, 4);
})

new Vue({
	.
	..
	...
})

6.3 局部过滤器:

new Vue{
	filters:{
		filterName(value){
      return value.slice(0, 4);
		}
	}
}

在html中使用过滤器

<div>{{ handledata | filtername }}</div>
<div>{{ handledata | filtername(参数) }}</div>

6.3 过滤器的案例

 <div id="root">
        <h3>methods写的:{{time()}}</h3>
        <h3>computed写的:{{time1}}</h3>
        <h3>过滤器的写的:{{number | ftime("YYYY-MM-DD HH:mm:ss") | qjtime}}</h3>
    </div>

    <div id="root2">
        <hr>
        <h3>{{name | qjtime}}</h3>
    </div>

    <script>

        Vue.config.productionTip = false
        // 全局过滤器
        Vue.filter('qjtime', function (val) {
            return val.slice(0, 4)
        })

        let vm = new Vue({
            el: '#root',
            data: {
                number: Date.now()
            },
            methods: {
                time() {
                    return dayjs(this.number).format("YYYY年MM月DD日 HH:mm:ss")
                }
            },
            computed:
            {
                time1: {
                    get() {
                        return dayjs(this.number).format("YYYY年MM月DD日 HH:mm:ss")
                    }
                }
            },

            // 局部过滤器
            filters:
            {
                // 这是ES的语法表示如果有传参数就使用传进来的参数,如果没有传参就使用
                ftime(val, str = "YYYY年MM月DD日 HH:mm:ss") {
                    return dayjs(val).format(str)
                },
            }
        })


        new Vue({
            el: "#root2",
            data: {
                number: Date.now(),
                name: '我是第二个Vue'
            }
        })
    </script>

总结

以上就是今天要讲的内容,本文介绍了对过滤器的一些相关知识,希望对大家有所帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值