我在不同的目录中有很多模板 - 我为每个模板定义了一个接口,所以我可以确定我在TypeScript代码中引用的内容将在模板中可用。
我想为每个接口定义一个接口,然后整理一个可导入的文件中的所有接口(因此我总是可以导入该文件,自动完成将显示可用的接口)。 / p>
但是,我在这方面遇到了麻烦。我目前有什么:
login/interface
:
export interface Index {
error: string;
value: string;
}
interfaces.ts
:
import * as login from './login/interface';
export let View = {
Login: login
};
login.ts
:
import * as I from './interface';
...
let viewOutput: I.View.Login.Index = {
...
};
结果:
错误TS2694:命名空间'" ...界面"'没有导出的成员'查看'。
但是,如果我尝试将I.View.Login.Index
作为简单变量访问,那么我得到:
财产'指数'类型" typeof" ... interface"'。
这似乎是正确的,因为界面实际上并不是一种类型,但是它已经能够访问I.View.Login
以获得那么远。
我不明白我在这里做错了什么或错过了什么我害怕。任何帮助将不胜感激!
答案 0 :(得分:7)
你可以re-export这样:
// interfaces.ts
export * from './login/interface';
export * from './something/interface';
然后:
// login.ts
import * as I from './interface';
let viewOutput: I.Index = { ... }
另一种选择是:
import * as login from './login/interface';
export { login as Login };
然后:
// login.ts
let viewOutput: I.Login.Index = { ... }