2013-01-08 181 views
1

我正在使用TypeScript编写程序。问题是我执行HTMLElement的界面。TypeScript接口实现

export class IEElement implements HTMLElement { 
    // something here 
} 

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

回答

2

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

该接口是一个合同,如果您有一个实现该合同的类,您承诺将在该合同中实现所有内容。

的HTMLElement接口有很多实现 - 但如果你只想补充一点的行为,或许你可以与现有的实现开始......

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

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

element.myCustomFunction = function() { }; 
+0

这是非常糟糕:/现在我有实施约70名成员......感谢您的答复。祝你有美好的一天。 – Nickon

+0

@Nickon我刚刚为你添加了一个可能的解决方案,可能会使它更容易 - 取决于你在做什么! – Fenton

+1

谢谢,你让我的一天;) – Nickon