与对象打字稿错误正在未定义
问题描述:
我得到的打字稿和作为角度分量,我想我已经定义了一个对象上设置属性的一部分,但我不断收到与对象打字稿错误正在未定义
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;
}
我知道数据通过确定,问题看起来像'选项'视频对象总是未定义的,但我不知道为什么。
答
options
对象未在ngOnInit中定义。
尝试
options: Video = new Video();
或类似这将设置选项属性的东西。
答
这是你应该如何设置属性:
@Input() data: Media;
options: Video;
constructor() { }
ngOnInit() {
this.options=new Video();
console.log(this.data.ooyalaVideo);
this.options.ooyalaId = this.data.ooyalaVideo;
}
你永远不会初始化this.options,所以这是不确定的。这令人惊讶吗?你为什么认为这应该起作用? –