Hvordan kan jeg stoppe "property does not exist on type JQuery" syntaksfeil når jeg bruker Typescript?


Jeg bruker bare én linje med jQuery i applikasjonen min:

$("div.printArea").printArea();

Men dette gir meg en Typescript-feil:

Egenskapen 'printArea' finnes ikke på typen JQuery?

Kan noen fortelle meg hvordan jeg kan stoppe at denne feilen dukker opp?

Svar #1

Du kunne caste det til <any> eller utvide jQuery-typingen for å legge til din egen metode.

 (<any>$("div.printArea")).printArea();

Eller, legg til dine egne tilpassede metoder (Forutsatt at dette legges til av deg selv som en del av en tilpasset plugin)

declare global {
    interface JQuery {
        printArea(): void;
    }
}

Svar #2

Jeg tror dette er den mest lesbare løsningen:

($("div.printArea") as any).printArea();

Svar #3

Du kan kaste det til

(<any>$('.selector') ).function();

Eksempel: initialisering av datovelger ved bruk av jQuery

(<any>$('.datepicker') ).datepicker();

Relaterte artikler