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

时间:2016-07-29 18:00:12

标签: typescript angular

我在下面的代码中有一个Angular2组件 类似

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

正如您所看到的,xyzObj的类型为any。 (在代码的整体工作中没有问题)

有没有办法正确定义其类型,因为如果我尝试按以下方式定义它:private xyzObj:ABC_Component.XYZ_Class; TypeScript Linter显示Cannot find namespace for ABC_Component

Angular2和TypeScript都是新手。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我真的不明白你想要实现的目标。你试图在静态类属性中定义类,这看起来很奇怪。

在任何情况下,您都没有正确编写此类:

SELECT GUID, ClientGUID, TASK, 
STUFF(( SELECT  ';' + VALUE FROM YOUR_TABLE a
WHERE b.GUID = a.GUID FOR XML PATH('')),1 ,1, '') AS NEW_VALUE
FROM YOUR_TABLE b
GROUP BY GUID, ClientGUID, TASK

这是另一种方法,如果您只想创建一个不会导出到其他人的类,并且只在此处使用它:

export class ABC_Component {
  private xyzObj:any;

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

  private static XYZ_Class = class {
  }
}