我试图了解打字稿的工作原理。 我有类的文件,例如:
export class Aclass {
}
另一个文件中有另一个类:
export class Bclass {
constructor(private a:Aclass) {
}
}
这会给出一个关于未反复类型的错误。 什么是正确的方法?
更新:有没有办法避免导入所有文件?
答案 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';
}
}
}