如何在不使用模块名称的情况下为类创建新对象?

时间:2013-07-22 12:11:39

标签: javascript typescript

我有一个类,如下所示,我在一个名为File1

的单独文件中
module test {
    export class myClass{
        constructor(MyName: any) {
        }

    }
}

在另一个名为File2的文件中,我正在为上面的类创建对象。

module test {
    class myClass2{
        var object = new myClass("name");
    }
}

如果上面的对象创建打字稿代码转换为javascript代码,它看起来像这样

var object = new test.myClass("name");

但实际上我需要它在js

中看起来像这样
var object = new myClass("name");

有人可以帮我这样做吗?

1 个答案:

答案 0 :(得分:1)

你走了:

module test {
    export class myClass{
        constructor(MyName: any) {
        }
    }
}

module test {
    var myClass = test.myClass;
    var object = new myClass("name");    
}

生成的js:

var myClass = test.myClass;
var object = new myClass("name");

Try It

更新:如果您不希望在js中看到任何test.,请不要将该类放入模块中,即:

class myClass{
    constructor(MyName: any) {
    }
}


module test {   
    var object = new myClass("name");    
}

更新2:由于您要使用打字稿中的现有J,您需要使用环境声明,即declare

declare class myClass{
    constructor(MyName: any);
}


module test {   
    var object = new myClass("name");    
}