【问题标题】:Angular2/TypeScript - Access object element of type array of classAngular2/TypeScript - 访问类的类型数组的对象元素
【发布时间】:2017-04-14 01:12:43
【问题描述】:

我有一个实现单个属性和类数组的类:

提供类

import {OffertRegion} from './offert-region';
import { OffertProduct } from './offert-product';

export class Offert {
    public idOffert: number;
    public OffertCode: string;


    public Regions: OffertRegion[];

    public Products: OffertProduct[];

constructor(values: Object = {}) {
        Object.assign(this, values);
    }

}

OfferRegion 类

export class OffertRegion {

    public idOffert: number;
    public idOffertRegion: number;
    public Region: string;
    public intOrder: number;

    constructor(values: Object = {}) {
        Object.assign(this, values);
    }
}

OfferProduct 类

export class OffertProduct {

    public idOffert: number;
    public OffertCode: string;
    public idOffertRegion: number;
    public Region: string;
    public intRegionOrder: number;
    public idOffertRow: number;
    public idProduct: number;
    public ProductCode: string;
    public Product: string;
    public Seats: number;
    public ImagePath: string;
    public Qty: number;


    constructor(values: Object = {}) {
        Object.assign(this, values);
    }
}

我不知道为什么,当我加载页面时,我在控制台中收到此编译错误:

offert-detail.component.ts (55,21):“Offert”类型上不存在属性“Products”。

产生错误的代码是这样的:

s.subscribe(
      res => {
        console.log('header')
        console.log(res.header);
        console.log('regions')
        console.log(res.regions);
        console.log('products')
        console.log(res.products);

        this.offert = res.header;              
        this.offert.Regions = res.regions; //this is line 53

        this.offert.Products = res.products; // this is line 55!!!
      },
      error => this.errorMessage = <any>error
    );

第 53 行和第 55 行相似...为什么第一个有效而第二个无效?

即使我尝试这两条简单的线路,我也会收到错误:

var rrr: OffertRegion[];  //OK
this.offert.Regions = rrr; //OK

var ooo: OffertProduct[];  //OK
this.offert.Products = ooo; //ERROR !!!

谢谢

【问题讨论】:

  • 你能把回复放在这里吗?
  • 我不认为它是响应问题,即使我尝试这两个代码行我也会收到错误:var ooo: OffertProduct[]; this.offert.Products = ooo;我现在整合这个问题。

标签: angular typescript compiler-errors


【解决方案1】:

我终于解决了问题...

我刚刚停止了服务器并再次运行 ng serve...

现在可以了!

可能我把复制/粘贴/重命名文件弄得一团糟... 咻!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2014-12-06
    • 2020-11-26
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多