6

我正在尝试使用 durandal,我需要getModuleId通过当前模块。我的问题是,当我使用 TypeScript 时,Typescript 代码似乎无法访问从 AMD 模块返回的底层对象:

export function checkModule(){
       var a = system.getModuleId(??);
}

编译后的 TS 将转换为:

function checkModule(){
     var a = system.getModule(??);
}
exports.checkModule = checkModule;

而不是??我需要传递exports在编译的 TS 中定义的对象。有没有办法做到这一点,或者有一个非常简单的方法?谢谢

4

2 回答 2

8

以下是我使用的。你是说“那里有一个出口变量”......而且有:)

declare var exports; 
var thisModule = exports; 
于 2013-05-15T02:01:03.997 回答
0

那么有一种方法,this在第一次调用activate模块的方法时缓存:

var _thisModule :any;
export function activate(){
       _thisModule = this;
       ....
}
于 2013-05-15T01:54:20.057 回答