gpt4 book ai didi

javascript - 你能在 TypeScript 类中设置静态枚举吗?

转载 作者:搜寻专家 更新时间:2023-10-30 20:30:57 28 4
gpt4 key购买 nike

我希望能够以某种方式在我的 TypeScript 类上静态设置一个枚举,并能够通过导出该类在内部和外部引用它。我是 TypeScript 的新手,所以我不确定正确的语法,但下面是一些伪代码(扩展了主干模型)我希望能够使用它来实现我需要的。 ..

class UnitModel extends Backbone.Model {
static enum UNIT_STATUS {
NOT_STARTED,
STARTED,
COMPLETED
}

defaults(): UnitInterface {
return {
status: UNIT_STATUS.NOT_STARTED
};
}


isComplete(){
return this.get("status") === UNIT_STATUS.COMPLETED;
}

complete(){
this.set("status", UNIT_STATUS.COMPLETED);
}
}

export = UnitModel;

我需要能够在此类内部引用枚举,但我还需要能够在类外部引用枚举,如下所示:

import UnitModel = require('path/to/UnitModel');
alert(UnitModel.UNIT_STATUS.NOT_STARTED);//expected to see 0 since enums start at 0

最佳答案

为此,您需要先在类之外定义它,然后将其分配为静态属性。

enum UNIT_STATUS {
NOT_STARTED,
STARTED,
COMPLETED,
}

class UnitModel extends Backbone.Model {

static UNIT_STATUS = UNIT_STATUS;

isComplete(){
return this.get("status") === UNIT_STATUS.COMPLETED;
}
}

export = UnitModel;

关于javascript - 你能在 TypeScript 类中设置静态枚举吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32509056/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com