में JQuery फ़ंक्शंस का विस्तार कैसे करें मैं टाइपस्क्रिप्ट पर कुछ जेएस कोड दोबारा लिख रहा हूं और मॉड्यूल आयात के साथ समस्याओं का सामना कर रहा हूं। उदाहरण के लिए, मैं अपना 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
JQuery
इंटरफेस में नहीं जोड़ा जाता इस प्रकार मैं एक त्रुटि Property 'toggleVisibility' does not exist on type 'JQuery'.
, हालांकि यह अन्य विधियों (val
, each
और इसी तरह) देखता हो रही है।
यह क्यों काम नहीं कर रहा है?
यह अपने इंटरफेस 'JQuery' मूल एक के साथ विलय नहीं किया जाता रहा है। शायद इसे आयात किया जाना चाहिए। आपने jQuery के लिए परिभाषाओं को कैसे आयात किया है? नई _ @ type_ प्रणाली के साथ? – Paleo
@Paleo 'tsd इंस्टॉल करें jQuery - सेव' afair –