Angular2如何处理日期管道的值为null

You*_* ie 14 angular2-template angular

我有这样的日期管道模板

{{value | date: 'dd/MM/yyyy'}}
Run Code Online (Sandbox Code Playgroud)

valuenull

如果我的值为null我如何处理这个字符串'object not match'

Bha*_*han 21

{{ (value !== null) ? (value | date: 'dd/MM/yyyy') : "" }}
Run Code Online (Sandbox Code Playgroud)


Yur*_*huk 12

检查Angular 4.2.4

{{(value | date:'dd/MM/yyyy') || 'n/a' }}
Run Code Online (Sandbox Code Playgroud)

  • 虽然这不会干扰渲染过程,但它仍然会在日志中散布“错误:InvalidPipeArgument:‘无法将管道’DatePipe’的‘NaN’转换为日期’”消息。 (3认同)

Igo*_*vić 5

您可以添加以下内容:

{{value || '' | date: 'dd/MM/yyyy'}}
Run Code Online (Sandbox Code Playgroud)

这应该像魅力一样工作!

这是工作中的笨蛋

  • 管道“DatePipe”的仍然错误“无效参数”@Igor (2认同)

小智 5

如果您的数据迟到并在视图中显示无效日期或任何内容,请使用此逻辑并第一次设置为空。

@Pipe({
    name: 'displayDate'
})
export class DisplayDatePipe implements PipeTransform {
    transform(value): any {
        if (value !== null) {
            return moment(value).format(DateFormat.DD_MMM_YYYY);
        }
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)