Angular 类型脚本错误,对象未定义
我正在使用TypeScript,作为角度组件的一部分,我试图在我定义的对象上设置属性,但我一直得到一个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);
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,所以它是未定义的。这有什么奇怪的?你为什么认为这应该行得通?