1

我正在使用TypeScript. 问题是我实现了HTMLElement接口。

export class IEElement implements HTMLElement {
   // something here
}

编译器显示了许多我缺少一些属性的错误(IEElement声明了一个接口但没有实现它)。我已经实现了大约 5 个我需要的属性。其余的都是多余的。如何避免错误?我需要实现所有接口成员吗?

4

1 回答 1

2

是的,您需要实现所有非可选接口成员。

接口是一个契约,如果您有一个实现该契约的类,您承诺实现该契约中的所有内容。

HTMLElement 接口有很多要实现的——但如果你只是想添加一些行为,也许你可以从现有的实现开始......

interface SpecialElement extends HTMLElement {
    myCustomFunction: () => void;
}

var element = <SpecialElement>document.getElementById('example');

element.myCustomFunction = function () { };
于 2013-01-08T11:48:14.873 回答