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