2017-05-26 3 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; 
    } 

Videoオブジェクトは、次のようになります。

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

私はデータを知っています問題は「オプション」のように見えますが、Videoオブジェクトは常に定義されていませんが、私はその理由を知りません。

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