Typescript,如何使用class作为参数的类型

时间:2016-03-04 19:11:32

标签: class types typescript

我试图了解打字稿的工作原理。 我有类的文件,例如:

export class Aclass {

}

另一个文件中有另一个类:

export class Bclass {

    constructor(private a:Aclass) {

    }
}

这会给出一个关于未反复类型的错误。 什么是正确的方法?

更新:有没有办法避免导入所有文件?

2 个答案:

答案 0 :(得分:0)

您需要将Aclass导入Bclass文件,该文件看起来像这样:

///Bclass.js
import Aclass = require('./Aclass.js') //require should be relative path to Aclass from Bclass

export class Bclass {

    constructor(private a:Aclass) {

    }
}

请参阅TypeScript文档的“Going External”部分:http://www.typescriptlang.org/Handbook

答案 1 :(得分:0)

您可以使用名称空间即内部模块。每个命名空间都会创建一个全局变量,因此我不推荐它。使用导出和导入的外部模块是更好的方法。如果必须使用名称空间:

file1.ts:

namespace main {
    export class First{
    name: string;
  }
}

file2.ts

namespace main {
  class Two {
    second: First;

    constructor() {
      this.second = new First();
      this.second.name = 'second name';
    }
  }
}