小编jvo*_*igt的帖子

打字稿:使用类作为接口

我试图将Class作为接口用于另一个类.有了这个,我试图完成一个最新的mockClass测试.

这应该是可能的,并且是一种有利的方法,如https://angular.io/guide/styleguide#interfaces中的状态

并在此处演示:将类导出为Angular2中的接口

但奇怪的是我在VSCode 1.17.2中使用Typescript 2.5.3时遇到错误

类SpecialTest中的错误

[ts]
Class 'SpecialTest' incorrectly implements interface 'Test'.
  Types have separate declarations of a private property 'name'.
Run Code Online (Sandbox Code Playgroud)

Samplecode:

class Test {
    private name: string;

    constructor(name: string) {
        this.name = name;
    }

    getName() {
        return this.name;
    }
    setName(name: string): void {
        this.name = name;
    }
}

class SpecialTest implements Test {
    private name: string;

    getName(): string {
        return '';
    }
    setName(name: string): void {
    }
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

编辑:使用string而不是String像@fenton建议的那样

typescript typescript2.0 angular

9
推荐指数
2
解决办法
4498
查看次数

标签 统计

angular ×1

typescript ×1

typescript2.0 ×1