Angular TS2339:类型对象上不存在属性totalPages

Angular TS2339:类型对象上不存在属性totalPages,angular,angular5,angular2-services,Angular,Angular5,Angular2 Services,我正在使用angular5开发一个简单的应用程序,我有一个页面,它使用带spring boot的API Restful返回一些项目信息的列表 一切都进行得很顺利,但我在youtube上的教程中尝试使用分页时无法实现这一点 这就是我得到错误的方法 pageProjects:any; pages:Array<number>; ngOnInit() { this.projetSevice.getProjects(this.curr

我正在使用angular5开发一个简单的应用程序,我有一个页面,它使用带spring boot的API Restful返回一些项目信息的列表

一切都进行得很顺利,但我在youtube上的教程中尝试使用分页时无法实现这一点

这就是我得到错误的方法

        pageProjects:any;
        pages:Array<number>;

    ngOnInit() {

        this.projetSevice.getProjects(this.currentPage,this.size)
          .subscribe(data=>{
            this.pageProjects=data;
            this.pages=new Array(data.totalPages);
          },err=>{
            console.log('this is error');
          })
  }

我如何解决这个问题?先谢谢你

这是因为Typescript编译器检查该数据变量。要解决此问题,请显式地告诉TypeScript数据的类型

this.projetSevice.getProjects(this.currentPage,this.size)
          .subscribe((data:any)=>{

这是因为Typescript编译器检查该数据变量。要解决此问题,请显式地告诉TypeScript数据的类型

this.projetSevice.getProjects(this.currentPage,this.size)
          .subscribe((data:any)=>{

通过在服务函数的任一返回类型中提供适当的类型或接口,可以解决此错误,如:

getProjects(page, size): Observable<MyType>
并制作一个接口

interface MyType {
    totalPages: number;
    //other properties
}

这是为了正确的打字检查。始终有一个选项可以使用任何,但不建议这样做。

此错误可以通过在服务函数的任一返回类型中提供适当的类型或接口来解决,如:

getProjects(page, size): Observable<MyType>
并制作一个接口

interface MyType {
    totalPages: number;
    //other properties
}
这是为了正确的打字检查。总是有一个选项可以使用
任何
,但不建议这样做。

以下是您需要的一切谢谢@yurzui的帮助:)我很感激这是您需要的一切谢谢@yurzui的帮助:)我很感激