自定义 'moment' 管道错误
Custom 'moment' pipe bug
我在我的 angular 2 应用程序中实现了以下自定义管道:
import { Injectable, Pipe } from '@angular/core';
import * as moment from 'moment';
@Pipe({
name: 'momentPipe'
})
@Injectable()
export class MomentPipe {
transform(value: Date|moment.Moment, ...args: any[]): any {
let [format] = args;
return moment(value).format(format);
}
}
它适用于 'standard' 格式:
{{startDate | date : 'dd/MM/yyyy' }}
但是当我尝试打印日期名称时:
{{startDate | date : 'ddd' }}
我直接进入屏幕ddd
。可以肯定的是,在 ts
文件中我做了:
console.log(moment(this.startDate).format('ddd'));
我得到 Sat
例如。
估计和编译有关,但是找不到很好的解释和解决方法。
您正在使用内置的 Angular2 日期管道,date
而不是您的 momentPipe
,| moment:
但是,您仍然可以使用 date
执行此操作
{{startDate | date: 'EEE'}}
我在我的 angular 2 应用程序中实现了以下自定义管道:
import { Injectable, Pipe } from '@angular/core';
import * as moment from 'moment';
@Pipe({
name: 'momentPipe'
})
@Injectable()
export class MomentPipe {
transform(value: Date|moment.Moment, ...args: any[]): any {
let [format] = args;
return moment(value).format(format);
}
}
它适用于 'standard' 格式:
{{startDate | date : 'dd/MM/yyyy' }}
但是当我尝试打印日期名称时:
{{startDate | date : 'ddd' }}
我直接进入屏幕ddd
。可以肯定的是,在 ts
文件中我做了:
console.log(moment(this.startDate).format('ddd'));
我得到 Sat
例如。
估计和编译有关,但是找不到很好的解释和解决方法。
您正在使用内置的 Angular2 日期管道,date
而不是您的 momentPipe
,| moment:
但是,您仍然可以使用 date
{{startDate | date: 'EEE'}}