我在不同的目录中有许多模板 - 我为每个模板定义了一个接口,因此我可以确定我在TypeScript代码中引用的内容将在模板中可用.
我想为每个接口定义一个接口,然后整理一个可以导入的文件中的所有接口(所以我总是可以导入该文件,自动完成将显示哪些接口可用).
但是,我在做这件事时遇到了麻烦.我目前拥有的:
login/interface:
export interface Index {
error: string;
value: string;
}
Run Code Online (Sandbox Code Playgroud)
interfaces.ts:
import * as login from './login/interface';
export let View = {
Login: login
};
Run Code Online (Sandbox Code Playgroud)
login.ts:
import * as I from './interface';
...
let viewOutput: I.View.Login.Index = {
...
};
Run Code Online (Sandbox Code Playgroud)
结果是:
错误TS2694:命名空间'"... interface"'没有导出的成员'View'.
但是,如果我尝试I.View.Login.Index作为一个简单的变量访问,那么我得到:
类型'typeof'... interface"'上不存在属性'Index'.
这似乎是正确的,因为接口不是真正的类型,但它已经能够访问I.View.Login到那么远.
我不明白我在做错了什么或错过了什么我害怕.任何帮助将不胜感激!
Nit*_*mer 13
您可以像这样重新导出:
// interfaces.ts
export * from './login/interface';
export * from './something/interface';
Run Code Online (Sandbox Code Playgroud)
然后:
// login.ts
import * as I from './interface';
let viewOutput: I.Index = { ... }
Run Code Online (Sandbox Code Playgroud)
另一种选择是:
import * as login from './login/interface';
export { login as Login };
Run Code Online (Sandbox Code Playgroud)
然后:
// login.ts
let viewOutput: I.Login.Index = { ... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12310 次 |
| 最近记录: |