Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了打字稿/角度2:属性缺少类型大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我对Typescript仍然很陌生,并且难以绕过接口.据我所知,接口是类的描述或类的合同.它允许我定义一个类可以具有哪些属性以及它们是哪种类型.我尝试实现它,但总是得到这个错误
error TS2420: Class 'ResultPage' incorrectly implements interface 'ResultPageInterface'.
Property 'entries' is missing in type 'ResultPage'.

这是界面的代码

export interface ResultPageInterface {
  entries:Array<any>;
  page_number:number;
  page_size:number;
  @R_831_10586@l_entries:number;
}

export class ResultPage implements ResultPageInterface {}

在这里想要使用它的类.

import { Injectable } from '@angular/core';
import { ResultPage } from '../interfaces/result-page.interface';

@Injectable()
export class someClass {

  constructor() {}

  buildPage(res:any): ResultPage {
    let page:resultPage = new ResultPage();
    page.entries = res.data;
    page.page_number = res.pagination.page_number;
    page.page_size = res.pagination.page_size;
    page.@R_831_10586@l_entries = res.pagination.@R_831_10586@l_entries;
    return page;
  }

}
您还需要将成员放在类中,以便它确实实现接口:
class ResultPage implements ResultPageInterface {
    public entries: Array<any>;
    public page_number: number;
    public page_size: number;
    public @R_831_10586@l_entries: number;

    constructor() {
        this.entries = [];
    }
}

您还可以将成员设为私有并使用getter:

class ResultPage implements ResultPageInterface {
    private _entries: Array<any>;
    private _page_number: number;
    private _page_size: number;
    private _@R_831_10586@l_entries: number;

    constructor() {
        this._entries = [];
    }

    public get entries() {
        return this._entries;
    }

    public get page_number() {
        return this._page_number;
    }

    public get page_size() {
        return this._page_size;
    }

    public get @R_831_10586@l_entries() {
        return this._@R_831_10586@l_entries;
    }
}

大佬总结

以上是大佬教程为你收集整理的打字稿/角度2:属性缺少类型全部内容,希望文章能够帮你解决打字稿/角度2:属性缺少类型所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。