美文网首页
Angular 自定义时间管道,并拓展DatePipe

Angular 自定义时间管道,并拓展DatePipe

作者: 89089答复 | 来源:发表于2019-03-16 12:00 被阅读0次

本文在此文的基础上进行了拓展,把@angular/common中的datepipe能够接受更多的value而不至于报错,或输出无效值

import { Pipe, PipeTransform } from '@angular/core';
import { DatePipe } from '@angular/common';



@Pipe({ name: 'dateLenOpe' })
export class DateLengthOperatorPipe implements PipeTransform {
    constructor(
        private datePipe: DatePipe,
    ) { }
    transform(value: any, format: any) {
        if (value === null || value === NaN || value === void 0 || value === 0) {
            // 后端返还0,NaN,undefined
            return '---'
        } else if ((typeof value === 'string' || typeof value === 'object') && value !== null) {
            if (Date.parse(value) === NaN) {
                // 返回的是'1554422400'
                value = value.length > 10 ? +value : value * 1000;
                return this.datePipe.transform(new Date(value), format);
            } else {
                // 返回的是'2019-04-05'类型或时间对象类型,并排除掉null
                value = Date.parse(value);
                return this.datePipe.transform(new Date(value), format);
            }
        } else if ((typeof value === 'number') && value !== NaN && value !== 0) {
            // 后端返回的十位数或者十三位数
            value = String(value).length > 10 ? value : value * 1000;
            return this.datePipe.transform(new Date(value), format);
        }
    }

}

分享是为了更好的交流,如果文章考虑不周,还行不吝赐教!

相关文章

  • Angular 自定义时间管道,并拓展DatePipe

    本文在此文的基础上进行了拓展,把@angular/common中的datepipe能够接受更多的value而不至于...

  • Angular 日期管道 datePipe - dateForm

    格式范例 {{ dateObj | date }} // output is 'Jun 15, 2015' {{ ...

  • angular2管道pipe

    谁用angular2自定义管道写过过滤器,搜索类似于angular1中firter的功能?急急

  • angular2管道的使用。

    对于angular2管道,本人理解的不是很深入,希望有所帮助。ionic2项目中创建自定义管道方法。 运行命令 i...

  • angular自定义管道

    对自定义管道的认识 管道的定义中体现了几个关键点:1、管道是一个带有“管道元数据(pipe metadata)”装...

  • 2019-11-03

    angular8 angular ngFor 遍历map 数据 使用keyvalue 管道 angular 在组件...

  • Angular 5 自定义文件上传组件(四)

    Angular 5 自定义文件上传组件(一)Angular 5 自定义文件上传组件(二)Angular 5 自定义...

  • 管道Angular 4 - Pipes

    在本章中,我们将讨论Angular 4中的管道。管道早先在Angular1中称为过滤器,在Angular 2和4中...

  • Angular之自定义管道

    简介这里简单的介绍了代码极简化,以及制定自己想要的功能通过自定义管道来实现。 2.语法关闭Angular项目新建管...

  • angular pipe 自定义管道

    可以理解为angular中的管道(pipe)与angular1.x的过滤器(filter)一样。 那么我们就来自定...

网友评论

      本文标题:Angular 自定义时间管道,并拓展DatePipe

      本文链接:https://www.haomeiwen.com/subject/sfnjmqtx.html