Javascript 为什么可观察集合返回正确数量的对象,但对象为空?

Javascript 为什么可观察集合返回正确数量的对象,但对象为空?,javascript,angular,typescript,Javascript,Angular,Typescript,我有以下服务 @Injectable() export class LMSVideoResulful { getVideos( enrolmentId : number ) :Observable<Array<Video>> { var x = new Array<Video>(); //https://www.youtube.com/embed/MV0vLcY652c x.push( new

我有以下服务

    @Injectable()
export class LMSVideoResulful { 
    getVideos( enrolmentId : number ) :Observable<Array<Video>> {
        var x = new Array<Video>();
        //https://www.youtube.com/embed/MV0vLcY652c
        x.push( new Video( "SQL 1", "https://www.youtube.com/embed/qMvDsarDdK0", "sdsdssdss" ));
        x.push( new Video( "SQL 2", "https://www.youtube.com/embed/hVBALRtY8g0", "sdsdssdss" ));
        x.push( new Video( "SQL 3", "https://www.youtube.com/embed/qMvDsarDdK0", "sssdssds" ));
        x.push( new Video( "SQL 4", "https://www.youtube.com/embed/8Fo_KTDrBSU", "sdsdssdss" ));
        return from([x]);
    }
}
在组件的构造函数中,我将服务称为

constructor( private _sanitizer: DomSanitizer, public myVideoService : LMSVideoResulful ){//https://www.youtube.com/watch?v=cm196HOdSzI
    

    this.safeURL = this._sanitizer.bypassSecurityTrustResourceUrl("https://www.youtube.com/embed/MV0vLcY652c");

    
    this.myVideoService.getVideos(1).subscribe( x => {
      this.videoList = x;
      console.log(JSON.stringify(x));
    }, error => error)
    
    
   
  }
即使有四个对象通过服务发送,
console.log()
行显示了四个对象的数组,但对象是空的


为什么会发生这种情况以及如何修复这种情况?

发生这种情况的原因很可能是您没有将构造函数中的值分配给类的成员变量。因此,可以打印出对象,但没有属性

确保类
视频
定义如下:

export class Video {

  constructor(private seq: string, private url: string, private desc: string) { }

}

您需要使用任何访问说明符在构造函数中声明变量。然后,它就变成了一种为它们赋值的简写符号。如果没有它们,正如您所见,这些值将不会被分配。

我已经用视频类更新了我的帖子。。。。在你的帖子中你把属性设置为私有的是什么?你需要在构造函数中用任何访问说明符声明变量。然后,它就变成了一种为它们赋值的简写符号。如您所见,如果没有它们,值将不会被分配。您完全正确……现在在添加访问修饰符后,它可以正常工作了,感谢您提供的洞察答案:)
export class Video {

  constructor(private seq: string, private url: string, private desc: string) { }

}