คุณสามารถทำได้ด้วยวิธีนี้:
export enum GoalProgressMeasurements {
Percentage = 1,
Numeric_Target = 2,
Completed_Tasks = 3,
Average_Milestone_Progress = 4,
Not_Measured = 5
}
export class GoalProgressMeasurement {
constructor(public goalProgressMeasurement: GoalProgressMeasurements, public name: string) {
}
}
export var goalProgressMeasurements: { [key: number]: GoalProgressMeasurement } = {
1: new GoalProgressMeasurement(GoalProgressMeasurements.Percentage, "Percentage"),
2: new GoalProgressMeasurement(GoalProgressMeasurements.Numeric_Target, "Numeric Target"),
3: new GoalProgressMeasurement(GoalProgressMeasurements.Completed_Tasks, "Completed Tasks"),
4: new GoalProgressMeasurement(GoalProgressMeasurements.Average_Milestone_Progress, "Average Milestone Progress"),
5: new GoalProgressMeasurement(GoalProgressMeasurements.Not_Measured, "Not Measured"),
}
และคุณสามารถใช้งานได้ดังนี้:
var gpm: GoalProgressMeasurement = goalProgressMeasurements[GoalProgressMeasurements.Percentage];
var gpmName: string = gpm.name;
var myProgressId: number = 1;
var gpm2: GoalProgressMeasurement = goalProgressMeasurements[myProgressId];
var gpmName: string = gpm.name;
คุณสามารถขยาย GoalProgressMeasurement ด้วยคุณสมบัติเพิ่มเติมของวัตถุได้ตามที่คุณต้องการ ฉันใช้แนวทางนี้สำหรับการแจงนับทุกครั้งที่ควรเป็นวัตถุที่มีค่ามากกว่า
GoalProgressMeasurements[GoalProgressMeasurements.Completed_Tasks]
เพื่อรับชื่อ enum ฉันไม่รู้ว่าจะช่วยได้ไหม