【问题标题】:TypeScript: Cannot read property 'transform' of undefined in datepipe.transformTypeScript:无法读取 datepipe.transform 中未定义的属性“转换”
【发布时间】:2017-06-28 15:23:01
【问题描述】:

我该如何解决这个问题?
当我获得 kekeh/ngx-mydatepicker 日期并转换为字符串时,我有一个打字稿方法。

这是我的课:

import { DatePipe } from '@angular/common'

export class DateUtils {

public static getMyDatePickerDateToString(myDate: any): string {

    let datepipe: DatePipe;
    var date = new Date(myDate.date.year, myDate.date.month, myDate.date.day);

    return datepipe.transform(date, 'yyyy-MM-dd')
  }
}

这是我的错误:

ERROR
TypeError: Cannot read property 'transform' of undefined

【问题讨论】:

  • 你没有定义datepipe

标签: angular date typescript


【解决方案1】:

您需要创建一个新的DatePipe 对象。 getMyDatePickerDateToString 方法的第一行声明了datepipe,但实际上并没有实例化一个。我不熟悉DatePipe API,但它可能类似于

const datepipe: DatePipe = new DatePipe();

【讨论】:

【解决方案2】:

您需要为其创建一个实例并传递参数,如下所示。就我而言,我需要将参数传递给它来解决问题

protected datePipe: DatePipe = new DatePipe('en-US')

【讨论】:

    【解决方案3】:

    在 Angular 4 中,我遇到了同样的问题。

    这是解决办法:

     private datePipe: DatexPipe = new DatexPipe();
    

    【讨论】:

      【解决方案4】:

      在构造函数中添加这一行,它对我有用

      构造函数(私有日期管道:DatePipe){}

      【讨论】:

        猜你喜欢
        • 2022-01-22
        • 2021-11-20
        • 2018-03-13
        • 2018-08-30
        • 2022-10-20
        • 2017-09-24
        • 1970-01-01
        • 2017-11-02
        • 2018-01-21
        相关资源
        最近更新 更多