Bazı JS kodlarını TypeScript'te yeniden yazıyor ve modül içe aktarma ile ilgili sorunlarla karşılaşıyorum. Örneğin, toggleVisiblity
işlevimi yazmak istiyorum. İşte kod:JQuery işlevlerini TypeScript içinde genişletme
/// <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();
Ama sorun bilinmeyen bir neden toggleVisibility
JQuery
arayüzüne eklenmez için başka yöntemler (val
, each
vs.) görür rağmen dolayısıyla ben bir hata Property 'toggleVisibility' does not exist on type 'JQuery'.
elde edilmesi.
Neden çalışmıyor?
Bu sizin arayüzü 'JQuery' orijinal biriyle birleştirilmez görünüyor. Belki de ithal edilmelidir. JQuery için tanımları nasıl içe aktardınız? Yeni _ @ types_ sistemi ile mi? – Paleo
@Paleo 'tsd install jQuery --save' afair –