2017-04-13 211 views
2

的類型陣列的訪問對象元素我有這個類,它實現單個屬性和類的數組:Angular2 /打字稿 -

offert類

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); 
    } 

} 

OffertRegion類

export class OffertRegion { 

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

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

OffertProduct class

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'。

這件作品的生成錯誤代碼是這樣的:

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 !!! 

感謝

+1

你能迴應嗎? – Akanksha

+0

我不認爲它的迴應有問題,即使我嘗試這兩個代碼行我得到的錯誤: var ooo:OffertProduct []; this.offert.Products = ooo; 我現在整合了這個問題。 – DarioN1

回答

0

我終於解決了這個問題...

我剛剛停止服務器並運行ng再次...

現在它的工作!

可能我已經弄髒了複製/粘貼/重命名文件... Ciao!