반응형
Typescript를 사용할 때 "property is not exist on type JQuery" 구문 오류를 중지하려면 어떻게 해야 합니까?
애플리케이션에서 jQuery의 한 줄만 사용하고 있습니다.
$("div.printArea").printArea();
하지만 이로 인해 타이프스크립트 오류가 발생합니다.
JQuery 유형에 'printArea' 속성이 존재하지 않습니까?
누가 이 오류가 나타나지 않게 하려면 어떻게 해야 하는지 알려주실 수 있나요?
당신은 그것을 캐스팅 할 수 있습니다.<any>
또는 jquery type을 확장하여 자신만의 메서드를 추가합니다.
(<any>$("div.printArea")).printArea();
또는 사용자 지정 방법을 추가합니다(사용자 지정 플러그인의 일부로 사용자 지정 방법 추가).
declare global {
interface JQuery {
printArea(): void;
}
}
이것이 가장 가독성이 높은 해결책이라고 생각합니다.
($("div.printArea") as any).printArea();
캐스팅 가능합니다.
(<any>$('.selector') ).function();
Ex: jquery를 사용하여 날짜 선택기 초기화
(<any>$('.datepicker') ).datepicker();
ignore 구문을 사용하거나 'as any' 표기 대신 사용할 수도 있습니다.
// @ts-ignore
$("div.printArea").printArea();
예를 들어 다음을 추가합니다.
interface JQuery{
printArea():void;
}
편집: 아, 아래에 basarat가 맞습니다.제가 왜 컴파일링이라고 생각했는지는 모르겠지만 이 답변을 업데이트했습니다.
printArea는 jQuery 플러그인이므로 jquery.d.ts에는 포함되지 않습니다.
jquery.printArea.ts 정의 파일을 생성해야 합니다.
플러그인에 대한 완전한 정의 파일을 만든 경우 Definitely에 제출할 수 있습니다.타이핑.
다음과 같이 쓸 수도 있습니다.
let elem: any;
elem = $("div.printArea");
elem.printArea();
언급URL : https://stackoverflow.com/questions/24984014/how-can-i-stop-property-does-not-exist-on-type-jquery-syntax-errors-when-using
반응형
'prosource' 카테고리의 다른 글
자바스크립트에서 예외를 다시 던지면서 스택을 보존하려면 어떻게 해야 합니까? (0) | 2023.09.15 |
---|---|
'#' 문자를 명령줄 인수로 전달할 수 없습니다. (0) | 2023.09.15 |
긴-if 조건을 위한 PSR-2 표준 (0) | 2023.09.15 |
Google 재료 아이콘(폰트)이 Mozilla Firefox에서 렌더링되지 않음 (0) | 2023.09.15 |
ASP 속도를 높입니다.넷 웹 사이트 또는 응용 프로그램 (0) | 2023.09.15 |