2017-05-26 46 views
0

我得到的打字稿和作爲角度分量,我想我已經定義了一個對象上設置屬性的一部分,但我不斷收到與對象打字稿錯誤正在未定義

ERROR TypeError: Cannot set property 'ooyalaId' of undefined 

這是我如何設置屬性:

@Input() data: Media; 
    options: Video; 

    constructor() { } 

    ngOnInit() { 
    console.log(this.data.ooyalaVideo); 
    this.options.ooyalaId = this.data.ooyalaVideo; 
    } 

視頻對象是這樣的:

export interface Video { 
    ooyalaId: String; 
    pcode?: String; 
    playerBrandingId?: String; 
    skin?: Object; 
    options?: Object; 
} 

我知道數據通過確定,問題看起來像'選項'視頻對象總是未定義的,但我不知道爲什麼。

+3

你永遠不會初始化this.options,所以這是不確定的。這令人驚訝嗎?你爲什麼認爲這應該起作用? –

回答

2
options 

對象未在ngOnInit中定義。

嘗試

options: Video = new Video(); 

或類似這將設置選項屬性的東西。

1

這是你應該如何設置屬性:

@Input() data: Media; 
options: Video; 

constructor() { } 

ngOnInit() { 
    this.options=new Video(); 
    console.log(this.data.ooyalaVideo); 
    this.options.ooyalaId = this.data.ooyalaVideo; 
    }