typescript - Egenskapen 'connectedCallback' finns inte på typen 'HTMLElement'
Jag har ett projekt som jag har återvänt till efter ett år. Något liknande koden nedan brukade fungera men fungerar inte längre:
interface HTMLElement {
attributeChangedCallback(attributeName: string, oldValue: string, newValue: string): void;
connectedCallback(): void;
disconnectedCallback(): void;
observedAttributes: string[];
}
export default class TestElement extends HTMLElement {
connectedCallback(): void {
super.connectedCallback();
}
}
Jag får nu ett Property 'connectedCallback' does not exist on type 'HTMLElement'-fel. Detta är inte som många av de otaliga frågor här där folk behövde vara mer specifika om vilken typ som skulle användas. Jag utökar bokstavligen HTMLElement här. Standarddeklarationerna för HTMLElement innehåller inte någon av grejerna för custom elements, så jag har ett tag nu använt ett interface för att fylla i för det jag har använt. Måste jag göra något ytterligare för att få detta att fungera nu?
Svar #1
Du kan utöka det befintliga gränssnittet i *.d.ts-filen
interface HTMLElement {
connectedCallback(): void;
}
ELLER
Du kan utöka det befintliga gränssnittet direkt i *.ts-filen
declare global {
interface HTMLElement {
connectedCallback(): void;
}
}
