如何在TypeScript中定义变量的静态类类型?

如何在TypeScript中定义变量的静态类类型?

问题描述:

我有一个Angular2组件类似到下面的代码:如何在TypeScript中定义变量的静态类类型?

export ABC_Component class{ 
    ... 
    private xyzObj:any; 
    ... 
    constructor(){ 
    this.xyzObj= new ABC_Component.XYZ_Class(); 
    } 
    ... 
    private static XYZ_Class = class{ 
    ... 
    } 
    ... 
} 

正如你可以看到xyzObjany类型。 (而不是在代码的整体工作问题)

有没有办法,因为如果我试图确定它像下面做正确定义其类型:private xyzObj:ABC_Component.XYZ_Class;的打字稿短绒显示Cannot find namespace for ABC_Component

新双方Angular2和打字稿。任何帮助赞赏。

我真的不明白你想用什么来达到目的。对于我来说,你试图在静态类属性中定义类看起来很奇怪。

在任何情况下,你没有正确地写这个类:

export class ABC_Component { 
    private xyzObj:any; 

    constructor(){ 
    this.xyzObj = new ABC_Component.XYZ_Class(); 
    } 

    private static XYZ_Class = class { 
    } 
} 

这里是另一种方法,如果你只是想创建一个不导出到其他一类,并且只用在这里:

export class ABC_Component { 
    private xyzObj: XYZ_Class; 

    constructor(){ 
    this.xyzObj = new XYZ_Class(); 
    } 
} 

class XYZ_Class { 

} 
+0

忘记'这个'。想知道是否可以定义'any'以外的'xyzObj'类型。目的是定义一个类,使其对其他类不可见。 –

+0

所以这里是另一种方法: ' export class ABC_Component {0} xyzObj:XYZ_Class; (){ 构造函数 }} 类XYZ_Class { \t } ' 在这个例子中 你有没有被出口到其他 –

+0

一类我将能够用这种方法使用的模板内内'XYZ_Class'定义的属性使用'xyzObj'的组件?只是想确认它们在功能上是否有任何不同。 –