2013-10-09 22 views
0

這是我想在Typescript中執行的JavaScript版本,需要注意的是我從exports.error函數引用exports.inform的方式( 「exports.inform」):如何在本地模塊中使用導出的函數

​​

對不起:

exports.error = function(_string, _kvp){ 
    for(var _i = 0; _i < server.clients.length; _++i){ 
     if(server.clients[_i] != undefined && server.clients[_i].isValid()){ 
      exports.inform(server.clients[_i], _string, _kvp); 
     } 
    } 
} 

exports.inform = function(_client, _string, _kvp){ 
    var _output = tag + processAll(_string, _kvp); 
    _client.printToChat(_output); 
} 

這是我的等值打字稿,但 「導出功能通知」 被功能 '錯誤'( 「通知」)中不正確referrenced對於模糊的解釋,我希望你能理解,並試圖澄清是否太難理解。

編輯:它給我的錯誤是在參數內執行字符串連接引起的'無效呼叫簽名',顯然TS不允許(除非在閉括號中),所以Ryan的評論是正確的:只需撥打inform。謝謝Nypan。

+0

你是什麼意思「引用不正確」?生成的JS有沒有問題(如果是這樣,你應該發佈它)? –

+0

不,從本地模塊內引用inform函數的方法在Typescript中是不同的,我不知道如何去做。在常規JS中,我會通過輸入「exports.inform」來調用函數:'exports.inform'。現在,在TS中的相同場景中,我創建了函數'export function inform',如何在同一個模塊中調用它? – Jexah

+0

你只需調用'inform'。 –

回答

1

我不完全相信我理解你的問題或者你正在爲此做什麼。但是,如果我理解正確,你下面應該工作:

module exports { 

    export function error(message: string){ 

     inform(message); 
    } 

    export function inform(message: string) { 

     alert(message); 
    } 
} 

exports.error("some message"); 

然而,它可能會更好的地方像這樣一類的功能:

class exports { 

    public static error(message: string) { 
     exports.inform(message); 
    } 

    public static inform(message: string) { 
     alert(message); 
    } 
} 

exports.error(「一些信息」) ;

我可能會誤解你正在嘗試做的事。讓我知道。

相關問題