簡體   English   中英

typescript定義構造函數或函數?

[英]typescript definition constructor or function?

我正在嘗試為現有的javaScript庫創建一個打字稿定義文件,但不斷出現運行時錯誤。

該庫包含以下代碼:

/**
* Pdok namespace, will hold Api namespace
* @namespace
*/
Pdok = {};

Pdok.Api = function(config) {

/* implementation details are here... */
}

提供的javascript示例代碼工作並包含以下行:

var api = new Pdok.Api(config);

我創建了一個打字稿定義文件,並且能夠毫無問題地進行編譯。 定義如下:

declare namespace Pdok
{
    interface configOptions {
        /* .. details .. */
    }

    class Api {
        constructor(config: configOptions);
    }
}

在運行時,我收到以下錯誤:Uncaught TypeError:Pdok.Api不是構造函數

什么應該在我的.d.ts文件中才能使其正常工作?

根據這個答案https://stackoverflow.com/a/15008808/4516689 ,可能是源未正確加載。

設置調試器; 代碼前的指令,並檢查變量Pdok.Api的設置。

debugger;
var api = new Pdok.Api(config);

或使用此

alert(Pdok.Api);
var api = new Pdok.Api(config);

它應該返回“function(config){...”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM