【问题标题】:Custom 'moment' pipe bug自定义“时刻”管道错误
【发布时间】:2017-03-20 22:55:15
【问题描述】:

我在我的 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);
  }
}

它适用于“标准”格式:

{{startDate | date : 'dd/MM/yyyy' }}

但是当我尝试打印日期名称时:

{{startDate | date : 'ddd' }}

我直接进入屏幕ddd。可以肯定的是,在ts 文件中我这样做:

console.log(moment(this.startDate).format('ddd'));

例如,我得到Sat

我猜这与编译有关,但找不到好的解释或解决方案。

【问题讨论】:

标签: angularjs angular ionic2 momentjs angular-pipe


【解决方案1】:

您正在使用内置的 Angular2 日期管道 date 而不是您的 momentPipe, | moment:

但是,您仍然可以使用 date 执行此操作

{{startDate | date: 'EEE'}}

【讨论】:

  • 如果您没有使用 momentPipe 做其他任何事情,请删除该库并按照此处的建议使用原生 Angular2 日期管道!
猜你喜欢
  • 2017-02-23
  • 2017-04-29
  • 1970-01-01
  • 1970-01-01
  • 2017-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-14
相关资源
最近更新 更多