2017-04-16 76 views
0

我想打電話給AdminLTE從我.tsx文件的JavaScript對象卻得到了這樣的錯誤:如何從React typescript組件中調用jQuery函數?

[TS]房產「AdminLTE」上鍵入「JQueryStatic」不存在。

在AdminLTE.js文件中,聲明如下:

$.AdminLTE = {}; 

在我的打字稿文件,我叫使用:

componentDidMount() { 
    $.AdminLTE.layout.fix(); // Got error 
} 

有沒有人知道如何解決它?

回答

1

你有兩個選擇:

選項1:安裝分型爲AdminLTE插件,如果存在的話。 (我無法找到在NPM這種情況的分型,你可能有,如果這個存在分型聯繫插件擁有者)

選項2:聲明AdminLTEany。您可以訪問AdminLTE沒有任何類型的限制:

declare var $: JQueryStatic & { 
    AdminLTE: any 
} 
+0

我試了一下,但是當'的console.log($ AdminLTE);',它返回'undefined'。似乎** AdminLTE **對象沒有引用真實模塊。 –

+0

確保您在代碼中導入了「admin-lte」,以便您的插件在運行時實際可用。答案只是解決編譯時類型檢查問題。 – Saravana

+0

在我加載我的應用程序腳本之前,我已經導入了AdminLTE的app.min.js的引用。但是,$ .AdminLTE仍未定義。編譯時檢查已經解決,但運行時間仍然存在問題。 –

相關問題