使用TypeScript在类中导入对象

时间:2014-04-10 12:19:14

标签: javascript requirejs typescript

我是Javascript和TypeScript的新手,我想知道是否可以进行某种依赖注入(可能使用require.js)

我在同一个模块中有两个类

module MyWebApp {
    export class ViewRouter {
           ... some class methods
    }
}

module MyWebApp {
    export class MyViewModel{
        private router: ViewRouter;

        constructor(router:ViewRouter router) {
           this.router = router;
        }
    }
}

每次我需要MyViewModel时,我都必须实例化ViewRouter var vm = new MyViewModel(new ViewRouter());

这有什么办法吗?我认为Require.js可以帮助我解决我的问题,但我不知道如何使用TypeScript。

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您希望每次实例,您应该这样做:

class MyViewModel{
    private router: ViewRouter;

    constructor() {
       this.router = new ViewRouter();
    }
}

现在,如果您想要“单个”共享实例,您可以执行以下操作:

module MyWebApp {
    export class ViewRouter {
           ... some class methods
    }

    export var router = new ViewRouter();       
}

并使用router

使用RequireJS可以为您做同样的事情,但主要想法不会改变。 RequireJS不是IOC容器。

那里有很多javascript IOC容器,我对此没有建议:Google search