반응형
Typescript를 사용할 때 "property does not exist on type JQuery"구문 오류를 어떻게 막을 수 있습니까?
내 응용 프로그램에서 한 줄의 jQuery 만 사용하고 있습니다.
$("div.printArea").printArea();
그러나 이것은 나에게 Typescript 오류를 제공합니다.
'printArea'속성이 JQuery 유형에 존재하지 않습니까?
누군가가이 오류가 나타나는 것을 막을 수있는 방법을 말해 줄 수 있습니까?
<any>
자신의 메소드를 추가하기 위해 jquery 타이핑을 캐스트 하거나 확장 할 수 있습니다.
(<any>$("div.printArea")).printArea();
// 또는 사용자 지정 메서드를 추가합니다 (사용자 지정 플러그인의 일부로 사용자가 직접 추가했다고 가정).
interface JQuery {
printArea():void;
}
나는 이것이 가장 읽기 쉬운 해결책이라고 생각합니다.
($("div.printArea") as any).printArea();
캐스트 할 수 있습니다.
(<any>$('.selector') ).function();
예 : jquery를 사용하여 날짜 선택기 초기화
(<any>$('.datepicker') ).datepicker();
예를 들어 다음을 추가합니다.
interface JQuery{
printArea():void;
}
편집 : 죄송합니다, basarat은 아래에 정확합니다. 왜 컴파일이라고 생각했는지 모르겠지만이 답변을 업데이트했습니다.
printArea는 jQuery 플러그인이므로 jquery.d.ts에 포함되지 않습니다.
jquery.printArea.ts 정의 파일을 만들어야합니다.
플러그인에 대한 완전한 정의 파일을 생성하는 경우이를 DefinitelyTyped 에 제출할 수 있습니다 .
다음과 같이 작성할 수도 있습니다.
let elem: any;
elem = $("div.printArea");
elem.printArea();
반응형
'IT박스' 카테고리의 다른 글
여러 @ControllerAdvice @ExceptionHandlers의 우선 순위 설정 (0) | 2020.11.16 |
---|---|
Visual Studio“파일 또는 어셈블리를로드 할 수 없습니다. (0) | 2020.11.16 |
utf8_ (en | de) 코드가 php7에서 제거 되었습니까? (0) | 2020.11.16 |
php-cli에 대한 php.ini는 어디에서 찾을 수 있습니까? (0) | 2020.11.16 |
html이 아닌 php 파일에 대한 500 내부 서버 오류 (0) | 2020.11.16 |