Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 枚举的类型脚本类型是什么_Angular_Typescript - Fatal编程技术网

Angular 枚举的类型脚本类型是什么

Angular 枚举的类型脚本类型是什么,angular,typescript,Angular,Typescript,我想知道枚举的类型是什么?在我的示例中,我需要在模板中引用我的方向枚举。为此,我将方向枚举分配给我在组件中公开的方向变量。此变量当前的类型为any,但我想更具体一些。这种类型应该是什么 <!-- component.html --> <p [ngSwitch="getDirection()"]> <span *ngSwitchCase="direction.NORTH">Heading North</spa

我想知道枚举的类型是什么?在我的示例中,我需要在模板中引用我的
方向
枚举。为此,我将
方向
枚举分配给我在组件中公开的
方向
变量。此变量当前的类型为
any
,但我想更具体一些。这种类型应该是什么

<!-- component.html -->
<p [ngSwitch="getDirection()"]>
    <span *ngSwitchCase="direction.NORTH">Heading North</span>
    <span *ngSwitchCase="direction.EAST">Heading East</span>
</p>


// component.ts
enum Direction {
  NORTH,
  EAST,
  SOUTH,
  WEST
}
direction: any; // <-- what should this type be?
constructor() {
  this.direction = Direction;
}


向北
向东

//组件技术 枚举方向{ 北, 东方,, 南方 西部 } 方向:任何;// 应该没问题

但实际上你不需要这个。 您可以让typescript推断此类型:

enum Direction { NORTH, EAST, SOUTH, WEST }

class MyComponent {
  readonly direction$ = Direction;
  constructor() {
    //...
  }
}
在这种情况下,不需要等待初始化,直到调用构造函数为止,因为一切都是预先知道的

现在,您可以将鼠标悬停在direction$字段上,查看它的推断类型(我假设您使用的是vscode)

应该没问题

但实际上你不需要这个。 您可以让typescript推断此类型:

enum Direction { NORTH, EAST, SOUTH, WEST }

class MyComponent {
  readonly direction$ = Direction;
  constructor() {
    //...
  }
}
在这种情况下,不需要等待初始化,直到调用构造函数为止,因为一切都是预先知道的


现在,您可以将鼠标悬停在direction$字段上,查看它的推断类型(我假设您使用的是vscode)。

direction$:direction
。不要让它变得比需要的更难:)。我尝试了这个,但是
这个。方向$
会突出显示错误
类型“typeof direction”不能分配给类型“direction”
注意,$后缀通常用于表示可观察的。
方向$:typeof direction应该是ok@TomaszGawel-太棒了,
typeof Direction
成功了。你能用答案回答吗?这样我就可以把它标记为正确的答案了。
direction$:direction
。不要让它变得比需要的更难:)。我尝试了这个,但是
这个。方向$
会突出显示错误
类型“typeof direction”不能分配给类型“direction”
注意,$后缀通常用于表示可观察的。
方向$:typeof direction应该是ok@TomaszGawel-太棒了,
typeof Direction
成功了。你能给我一个答案吗?这样我就可以把它标为正确答案了?