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();
は、しかし、問題は、それは他の方法(val
、each
など)を見ているが、このように私は、エラーProperty 'toggleVisibility' does not exist on type 'JQuery'.
を取得し、未知の理由toggleVisibility
ためJQuery
インターフェイスに追加されていないということです。
なぜ機能しないのですか?
あなたのインタフェース 'JQuery'はオリジナルのものにマージされていないようです。おそらくそれはインポートする必要があります。 jQueryの定義をどのようにインポートしましたか?新しい_ @ types_システムでは? – Paleo
@paleoと 'tsd install jQuery --save' afair –