Angular 类型脚本错误,对象未定义

Angular 类型脚本错误,对象未定义,angular,typescript,Angular,Typescript,我正在使用TypeScript,作为角度组件的一部分,我试图在我定义的对象上设置属性,但我一直得到一个 ERROR TypeError: Cannot set property 'ooyalaId' of undefined 以下是我设置属性的方式: @Input() data: Media; options: Video; constructor() { } ngOnInit() { console.log(this.data.ooyalaVideo);

我正在使用TypeScript,作为角度组件的一部分,我试图在我定义的对象上设置属性,但我一直得到一个

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;
  }
 @Input() data: Media;
 options: Video;

 constructor() { }

 ngOnInit() {
    this.options=new Video();
    console.log(this.data.ooyalaVideo);
    this.options.ooyalaId = this.data.ooyalaVideo;
  }
视频对象如下所示:

export interface Video {
  ooyalaId: String;
  pcode?: String;
  playerBrandingId?: String;
  skin?: Object;
  options?: Object;
}
我知道数据正在通过ok,问题看起来好像“选项”视频对象总是未定义,但我不知道为什么

options
对象未在ngOnInit中定义

试一试

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

对象未在ngOnInit中定义

试一试


或者类似的设置选项属性的方法。

以下是设置属性的方法:

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

  constructor() { }

  ngOnInit() {
    console.log(this.data.ooyalaVideo);
    this.options.ooyalaId = this.data.ooyalaVideo;
  }
 @Input() data: Media;
 options: Video;

 constructor() { }

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

以下是设置属性的方式:

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

  constructor() { }

  ngOnInit() {
    console.log(this.data.ooyalaVideo);
    this.options.ooyalaId = this.data.ooyalaVideo;
  }
 @Input() data: Media;
 options: Video;

 constructor() { }

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

您从未初始化此.options,因此它未定义。这有什么奇怪的?为什么你认为应该这样做?你从来没有初始化过这个.options,所以它是未定义的。这有什么奇怪的?你为什么认为这应该行得通?