作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我似乎找不到直接的答案,说我有这个枚举
public enum DisplayType { Something, Another, More };
如何在我的 Angular ts 文件中使用它?
我已经尝试过这样做..
import { ... } from '';
import { DisplayType } from '...'
...
enum DisplayType { Something, Another, More }
@Component({
...
export class ...
constructor(){}
ngOnIt() {
someFunction(DisplayType.Something).subscribe(() => {});
}
这就是服务中枚举的样子
export enum DisplayType {
_0 = 0,
_1 = 1,
_2 = 2,
}
但这似乎不起作用,我收到错误
[ts] Argument type of 'DisplayType.Something' is not assignable to paramter of type 'DisplayType'.
enum DisplayType
我不确定我做错了什么?
编辑
我已经尝试过..
const enum DisplayType { Something, Another, More }
但我仍然遇到同样的错误,我也尝试过这样做
enum DisplayType { Something, Another, More }
export class...
DisplayType: any = DisplayType;
ngOnIt() {
someFunction(this.DisplayType.Something).subscribe(() => {});
}
这不会出错,但是当我将鼠标悬停在它上面时,我得到 (property) DashboardAlertComponent.DisplayType: any
但不应该说DisplayType.Something = 1
或者什么?
如有任何帮助,我们将不胜感激!!
最佳答案
您的服务定义了 DisplayType
,但您也可以创建自己的 DisplayType
。仅仅因为这两种类型具有相同的名称并不意味着它们相同。
从服务中导入 DisplayType
并使用该类型。
import { DisplayType } from 'service.ts';
someFunction(DisplayType._0);
如果您需要使用自己的枚举,则可以将其作为任何枚举传递,但请确保枚举值正确对齐
someFunction(MyDisplayType.Something as any)
关于javascript - 如何在 Angular 5 中使用枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50224580/
我是一名优秀的程序员,十分优秀!