我想创建和初始化接口类型IClassificationOverride的对象。我收到未定义对象的运行时错误。我无法理解这里的问题。如果您在下面看到我正在初始化的对象,则类型为IClassificationOverride
classificationOverride: IClassificationOverride;
this.classificationOverride.ManagerStrategyId = this.managerStrategyId;
this.classificationOverride.ProductId = this.selectedProductItem.Id;
this.classificationOverride.LegacyStrategyId = this.selectedReportingItem.Id;
this.classificationOverride.ManagerStrategyTypeId = this.selectedStrategyItem.Id;
界面
export interface IClassificationOverride {
ID: number;
ManagerStrategyId: number;
ProductId: number;
StrategyId: number;
LegacyStrategyId: number;
ManagerStrategyTypeId: number;
}
答案 0 :(得分:0)
classificationOverride: IClassificationOverride;
只声明变量的类型。它不会创建对象(这就是为什么值仍然为undefined
的原因。)
您实际上需要创建这种类型的对象:
classificationOverride = new IClassificationOverride();
Buuuut,它不起作用,因为您使用的是interface
而不是class
。
因此,您需要自己创建对象:
classificationOverride = <IClassificationOverride>{
ManagerStrategyId: this.managerStrategyId,
ProductId: this.selectedProductItem.Id,
/* ... */
}