javascript - 如何访问另一个类/ 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.chargeType
myData.charge.chargeAccountNumber
myData.charge.chargeCurrency
异常:TypeError:无法设置未定义的属性“chargeType”
解决方案
类A
具有类的属性Charge
。
话虽如此,该charge
属性只有一个类型 - 但没有实例。
该类A
必须在Charge
某处创建该类的实例 - 主要是在构造函数中。
构造函数应如下所示:
export class A {
public sourceReference: string;
public charge: Charge;
constructor() {
this.charge = new Charge()
}
...
推荐阅读
- reporting-services - 如何从下拉列表中选择一个值并自动填充另一个字段
- dart - 从具有常量构造函数的类创建对象时,为什么要使用 const 关键字?
- python - 产生意外输出的 Python 函数
- python - 熊猫分隔具有列表类型值的列
- c++ - memset VS 通过一个简单的循环“for”归零
- c++ - Visual Studio C++:在另一个项目中使用一个项目生成的静态库
- reactjs - 直接从 react 发送文件到 sftp
- c# - 优化配方/成分选择算法
- node.js - 解码通用 Node.js 错误。格式是什么以及如何阅读?
- vba - For循环工作但指责错误 - VBA