TS2339:属性 对象类型不存在总页数

TS2339 : Property totalPages doesnt exist on type Object

我正在使用 angular5 开发一个简单的应用程序,我有一个页面 returns 使用 API Restful 和 spring 的一些项目信息列表启动.

一切顺利,但我无法按照 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');
          })
  }

我收到这个错误:

   TS2339 : Property totalPages doesnt exist on type Object

我该如何解决这个问题?先感谢您 。

这是因为 Typescript 编译器会检查该数据变量。要解决此问题,请明确告诉 TypeScript 数据类型为 any ,

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

可以通过在服务函数的 return 类型中提供正确的类型或接口来解决此错误,例如:

getProjects(page, size): Observable<MyType>

或为数据对象指定类型

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

并制作一个界面

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

这是为了正确的类型检查。总是有使用 any 的选项,但不推荐这样做。