Mi piacerebbe in qualche modo essere in grado di impostare staticamente un enum sulla mia classe TypeScript ed essere in grado di fare riferimento sia internamente che esternamente tramite l'esportazione della classe. Sono abbastanza nuovo per TypeScript, quindi non sono sicuro della sintassi corretta per questo, ma di seguito è riportato qualche pseudo-codice (che estende un modello Backbone) che mi piacerebbe poter utilizzare per ottenere ciò di cui ho bisogno. ..È possibile impostare un enum statico all'interno di una classe 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;
ho bisogno di essere in grado di fare riferimento alla enum all'interno di questa classe, ma ho anche bisogno di essere in grado di fare riferimento alla enum al di fuori della classe, come la seguente:
import UnitModel = require('path/to/UnitModel');
alert(UnitModel.UNIT_STATUS.NOT_STARTED);//expected to see 0 since enums start at 0
dattiloscritto non consente di definire un enum all'interno di una classe. che lingua orribile! –