【发布时间】:2013-03-22 13:09:14
【问题描述】:
有两个打字稿文件:
A.ts:
export class Person {
public name:string;
constructor(){}
}
和
B.ts:
import A = module("A");
var p: A.Person;
到目前为止一切正常。
但是,当我尝试为从 A.ts 导入的类型名称创建快捷方式时:
var Person = A.Person;
var pp: Person;
编译器抱怨(就行:“var pp: Person”):
当前范围内不存在名称“Person”
我怎样才能实现这种或类似的语法,以避免长命名空间?
【问题讨论】:
-
我不知道如何实现您想要做的事情,但是您使用速记表示遇到的问题是 Person 不是 TypeScript 类型而是对类的引用。因此,您可以使用
var pp = new Person();而不是写var pp : Person; -
所以,我可以创建类的实例,但不能声明类的变量。编译器将能够在一种情况下推断变量的类型,而在另一种情况下无法推断。在我看来,编译器中有一个错误。无论如何,第二个示例 ('var pp = new Person();') 确实有效。谢谢。
标签: typescript