【问题标题】:How to assign object to array in Typescript如何在 Typescript 中将对象分配给数组
【发布时间】:2019-09-04 22:43:43
【问题描述】:

我在 Typescript 中有一个类,我在 this 中分配时遇到问题。类的一部分。我收到以下错误。 “ListingHistory”类型缺少“ListingHistory[]”类型的以下属性:length、pop、push、concat 和 26 个以上。ts(2740)

下面是我的本节课

export class History {
    public address: string;
    public listingHistory: ListingHistory[];
    public saleHistory: SaleHistory[] ;
    public mortgageHistory: MortgageHistory[];

    constructor(address: string, listingHistory?: ListingHistory, saleHistory ?: SaleHistory ,
                mortgageHistory?: MortgageHistory) {

       this.address = address;
       this.listingHistory = listingHistory;
       this.saleHistory(push)saleHistory;
       this.mortgageHistory = mortgageHistory;

} 

【问题讨论】:

    标签: typescript


    【解决方案1】:

    您创建了一个ListingHistory 数组,但将一个ListingHistory 项传递给您的构造函数

    export class History {
    public address: string;
    public listingHistory: ListingHistory[];
    public saleHistory: SaleHistory[] ;
    public mortgageHistory: MortgageHistory[];
    
    constructor(public address: string, public listingHistory?: ListingHistory[], public saleHistory ?: SaleHistory[],
                public mortgageHistory?: MortgageHistory[]) {
    
       this.address = address;
       this.listingHistory = listingHistory;
       this.saleHistory(push)saleHistory;
       this.mortgageHistory = mortgageHistory;
    
     } 
    

    【讨论】:

    • @MisterniceGuy 我刚刚编辑了它,希望它现在可以正常工作
    • 你在初始化History类的listingHistory属性时传递了什么?从错误来看,您似乎没有传递类似数组的对象....您可能传递的是 ListingHistory 而不是 ListingHistory[] 的数组?
    【解决方案2】:

    你将一个可以为空的listingHistory 传递给构造函数 您可能需要初始化 ListingHistory 字段

    export class History {
    public address: string;
    public listingHistory: ListingHistory[];
    public saleHistory: SaleHistory[];
    public mortgageHistory: MortgageHistory[];
    
    constructor(address: string, listingHistory?: ListingHistory, saleHistory ?: SaleHistory ,
                mortgageHistory?: MortgageHistory[]) {
    
       this.address = address;
       this.listingHistory = listingHistory || [];
       this.saleHistory = saleHistory || [];
       this.mortgageHistory = mortgageHistory || [];
    
    } 
    

    【讨论】:

      猜你喜欢
      • 2016-01-14
      • 1970-01-01
      • 1970-01-01
      • 2016-05-10
      • 2010-11-22
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 2020-02-04
      相关资源
      最近更新 更多