我在命名AMD模块时遇到问题。这样做的最佳做法是什么?
例如IProfileService.ts:
export interface IProfileService {
savePersonalInfo(): void;
}
在我的控制器文件中:
import ps = module('../contracts/IPersonalInfoScope');
import pf = module('../contracts/IProfileService');
export class PersonalInfoCtrl {
...
constructor(
private $scope: ps.IPersonalInfoScope,
private profileService: pf.IProfileService
) {...};
};
...
}
所以,我需要为每个接口,类等创建这样的子名称: ps,pf ,因为每个文件都有一个类/接口。我可以这样做: contracts.IPersonalInfoScope,contracts.IProfileService ,而不将它们放在一个文件中?
答案 0 :(得分:0)
可能不是因为合并这两种类型(ps
和pf
)的唯一方法是使用变量。但变量在变量声明空间中,不能用于声明类型。即你不能:
var x = {a:123,b:123};
var y:x; // Error
更多:http://basarat.github.io/TypeScriptDeepDive/#/declarationspaces