TypeScript错误,对象未定义

时间:2017-05-26 10:58:06

标签: angular typescript

我正在使用TypeScript并且作为Angular组件的一部分我正在尝试在我定义的对象上设置属性,但我一直在获取

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

我知道数据正常通过,问题看起来像'选项'视频对象总是未定义,但我不知道为什么。

2 个答案:

答案 0 :(得分:2)

options

对象未在ngOnInit中定义。

尝试

options: Video = new Video();

或类似设置选项属性的东西。

答案 1 :(得分:1)

这是您应该如何设置属性:

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

 constructor() { }

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