TypeScript AMD模块。名称和名称空间。

时间:2013-05-06 11:50:07

标签: javascript typescript

我在命名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 ,而不将它们放在一个文件中?

1 个答案:

答案 0 :(得分:0)

可能不是因为合并这两种类型(pspf)的唯一方法是使用变量。但变量在变量声明空间中,不能用于声明类型。即你不能:

var x = {a:123,b:123};
var y:x; // Error

更多:http://basarat.github.io/TypeScriptDeepDive/#/declarationspaces

相关问题