【发布时间】:2013-10-09 05:29:41
【问题描述】:
这是我想在 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);
}
这是我在 Typescript 中的等价物,但是在函数“错误”(“通知”)中错误地引用了“导出函数通知”:
export function error(_str:string, _kvp:Object) {
for (var _i: number = 0; _i < server.clients.length; ++_i) {
if (server.clients[_i] != undefined && server.clients[_i].isValid()) {
inform(server.clients[_i], _str, _kvp);
}
}
}
export function inform(_client:Entity, _str:string, _kvp:Object) {
var _output = tag + processAll(_str, _kvp);
_client.printToChat(_output);
}
抱歉解释的含糊不清,希望您理解,如果太难理解,请尽量澄清。
编辑:它给我的错误是在参数中执行字符串连接引起的“无效调用签名”,TS 显然不允许(除非在右括号中),所以 Ryan 的评论是正确的:只需调用 inform .谢谢尼潘。
【问题讨论】:
-
“引用不正确”是什么意思?生成的JS是不是有问题(如果有,应该贴出来)?
-
不,从本地模块内部引用inform函数的方法在Typescript中是不同的,我不知道该怎么做。在普通的 JS 中,我会调用函数:
exports.inform,通过键入exports.inform。现在,在TS中同样的场景下,我创建了函数export function inform,在同一个模块中怎么调用呢? -
您只需拨打
inform。
标签: typescript