簡體   English   中英

使用TypeScript導入類中的對象

[英]Import object in class using 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中使用它。

謝謝。

如果您每次都想要一個實例,則可能應該這樣做:

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搜索

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM