我是第一次制作基于DOM的游戏。我想扩展HTMLDivElement,但是在TypeScript中,HTMLDivElement是一个接口。
我想做这个伪类:
class QuizElement extends HTMLDivElement{
}
抱歉,这个问题太疯狂了。我对DOM有点陌生,只是觉得,我可以在任何其他环境中扩展任何可视类,所以我想它在这里是可行的!
您不能扩展,HTMLDivElement
因为它没有声明为类。这是有道理的,因为基础本机类型没有意义进行扩展。
您有两种选择。
选项1:机具!
因为HTMLDivElement
是接口,所以可以实现它。
class QuizElement implements HTMLDivElement {
您将必须实现接口的所有属性和方法。您可能不想这样做。
选项2:委派。
您可以公开要在QuizElement
类中使用的特定属性和方法,然后委托给实际HTMLDivElement
实例。下面的简单示例:
class QuizElement {
private element: HTMLDivElement;
constructor(id: string) {
this.element = <HTMLDivElement>document.getElementById(id);
}
set innerHTML(content: string) {
this.element.innerHTML = content;
}
}
var quizElement = new QuizElement('quiz');
quizElement.innerHTML = 'Example';
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句