20

TypeScript で一部の JS コードを書き直していて、モジュールのインポートで問題が発生しました。たとえば、toggleVisiblity関数を書きたいとします。コードは次のとおりです。

/// <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追加されていないため、他のメソッド ( など) が表示されているにもかかわらず、エラーが発生することです。JQueryProperty 'toggleVisibility' does not exist on type 'JQuery'.valeach

なぜ機能しないのですか?

ここに画像の説明を入力

4

2 に答える 2