我在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
界面就我得到一個錯誤Property 'toggleVisibility' does not exist on type 'JQuery'.
,儘管它看到其他的方法(val
,each
等)。
爲什麼它不起作用?
看來你的界面'JQuery'不與原來的合併。也許它應該被導入。你是如何導入jQuery的定義的?有了新的_ @ types_系統? – Paleo
@Paleo with'tsd install jQuery --save' afair –