typescript - 属性 'shadowRoot' 在类型 上不存在 ts(2339)
在泛型类型的抽象类中使用 ShadowDOM 是否可能?我正在开发一些自定义网页组件,并决定尝试减少与 DOM 相关的重复代码。
目前,我的组件继承自 'HTMLElement'。然而,我希望我的组件像下面这样引用一个基类,但我收到一个错误 '属性 'shadowRoot' 在类型 'B' 上不存在.ts(2339)'
abstract class B <T extends HTMLElement> {
element: T;
constructor(DOM:JSDOM, componentType:string) {
this.element = <T>DOM.createElement(componentType);
this.attachShadow({ mode: 'open' });
this.shadowRoot!.appendChild(this.element);
}
async connectedCallback() {
this.appendChild(this.element);
}
}