typescript 访问同一个类中的静态变量,得到TypeError:无法读取undefined的属性(阅读“demo1”)

k5ifujac  于 2023-05-08  发布在  TypeScript
关注(0)|答案(2)|浏览(216)

我在DemoService中有两个静态对象,如下所示

export class DemoService {

  public static demo1 = {
    ACTIVITY: 'ACTIVITY'
  };

  public static anotherVariable: Array<Model> = [{
      title: DemoService.demo1.ACTIVITY // THIS IS THE ERROR LINE
  }]

}

我收到一个错误,说DemoService是未定义的。到目前为止,我一直使用这种类型的结构,但自从我升级到Angular 15以来,它在运行时抛出了这个。有什么办法可以解决这个问题吗?

hrysbysz

hrysbysz1#

找到解决方案了,是因为tsconfig.json中的目标为ES2022,改为ES2021就可以工作了。

{
  "compilerOptions": {
     "target": "ES2021"
  }
}

有关更多信息,请查看https://github.com/microsoft/TypeScript/issues/52004

gxwragnw

gxwragnw2#

直接修复此问题:

export class DemoService {

  public static demo1: any = {
    ACTIVITY: 'ACTIVITY'
  };

  public static anotherVariable: Array<Model> = [{
      title: DemoService.demo1.ACTIVITY
}]

}

相关问题