vue自定义私有过滤器

filters
自定义时间过滤器,获取自己想要的时间格式以显示在页面上

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>时间过滤</title>
    <script src="../js/vue.min.js"></script>
</head>
<body>
<div id="app">
    {{date | formatDate}}
</div>

<script>
    //在月份、日期、小时、小于10前面补0
    let padDate = function (value){
        return value < 10 ? '0' + value : value;
    }
    let app = new Vue({
        el: '#app',
        data: {
            date: new Date()
        },
        //私有过滤器
        filters: {
            formatDate: function (value){//这里的value就是需要过滤额数据
                let date = new Date(value);
                let year = date.getFullYear();
                let month = padDate(date.getMonth()+1);
                let day = padDate(date.getDate());
                let hours = padDate(date.getHours());
                let minutes = padDate(date.getMinutes());
                let seconds = padDate(date.getSeconds());
                //返回过滤后的数据
                return year + '-'+month + '-' + day + ' ' + hours
                + ':' + minutes + ':' + seconds;

            }
        },
        /*
        钩子函数:常用的有:
                created:实例创建完成后调用,此阶段完成了数据的观测等,
                但尚未挂载,$el还不可用,需要初始化处理一些数据时会比较有用
                mounted:el挂载到实例上后调用,一般我们的第一个业务逻辑会在这里开始
                beforeDestroy:实例销毁之前调用,主要解绑一些使用addEventListener监听的时间等
                这些钩子与el和data类似,也是作为可选项options写入Vue实例中,钩子的this指向的时调用它的Vue实例
         */
        mounted: function (){
            let _this = this;//声明一个变量指向Vue实例,保证作用域一致
            this._timer = setInterval(function (){
                _this.data = new Date();//修改数据date
            },1000);
        },
        beforeDestory: function (){
            if (this._timer){
                clearInterval(this._timer);
            }
        }
    })
</script>
</body>
</html>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d8qO5NiT-1644552244351)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20220210215137883.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值