首页 > 解决方案 > 如何访问另一个类/ TypeScript 中的类

问题描述

我有我的主要A类

export class A {

    public sourceReference: string;

    public charge: Charge;
}

我的 Charge 课程如下所示:

export class Charge {

    public chargeType: string;
    
    public chargeAccountNumber: string;

    public chargeCurrency: string;
}

在我的索引文件中,我想使用我的主类 A 并按如下方式填充我的有效负载:

    import { A } from "./a";
    
    public static create(payload) {

      let myData = new A();

      myData.sourceReference = payload.sourceRef;
      myData.charge.chargeType = payload.type;
      myData.charge.chargeAccountNumber = payload.accountNumber;
      myData.charge.chargeCurrency = payload.currency

      return JSON.stringify(myData)

     }

我传入的有效负载文件如下所示:

payload = { sourceRef: "1234", type: '615-01', accountNumber: '123456', currency: 'USD'}

我能够生成 myData.sourceReference

然而,

问题是返回未定义,导致, &myData.charge的未定义值。myData.charge.chargeTypemyData.charge.chargeAccountNumbermyData.charge.chargeCurrency

异常:TypeError:无法设置未定义的属性“chargeType”

标签: javascripttypescriptclass

解决方案


A具有类的属性Charge

话虽如此,该charge属性只有一个类型 - 但没有实例。

该类A必须在Charge某处创建该类的实例 - 主要是在构造函数中。

构造函数应如下所示:

export class A {

  public sourceReference: string;
  public charge: Charge;

  constructor() {
     this.charge = new Charge()
  }

 ...

推荐阅读