TypeScript에서 일부 JS 코드를 다시 작성하고 모듈 가져 오기와 관련된 문제가 발생합니다. 예를 들어, 내 toggleVisiblity
함수를 작성하고 싶습니다. 여기에 코드입니다 :TypeScript에서 JQuery 함수를 확장하는 방법
/// <reference path="../../typings/jquery/jquery.d.ts" />
import * as $ from "jquery";
interface JQuery {
toggleVisibility(): JQuery;
}
$.fn.extend({
toggleVisibility: function() {
return this.each(function() {
const $this = $(this);
const visibility = $this.css('visibility') === 'hidden' ? 'visible' : 'hidden';
$this.css('visibility', visibility);
});
}
});
const jQuery = $('foo');
const value = jQuery.val();
jQuery.toggleVisibility();
그러나 문제는 알 수없는 이유로 toggleVisibility
이 JQuery
인터페이스에 추가되지 않은 것이 다른 방법 (val
, each
등)를 볼 수 있지만, 따라서 나는 오류 Property 'toggleVisibility' does not exist on type 'JQuery'.
를 얻을 수 있다는 것입니다.
왜 작동하지 않습니까?
그것은 당신의 인터페이스'JQuery'이 원래와 통합되지 않은 것 같다. 어쩌면 그것이 수입되어야합니다. jQuery에 대한 정의를 어떻게 가져 왔습니까? 새로운 _ @ types_ 시스템으로? – Paleo
@Paleo with'tsd install jQuery --save' afair –