У меня есть интерфейсы Meal
и Mealplan
с данными, поступающими из API. Каждый план питания состоит из пар ключ-значение, где ключи хранятся в enum Weekday
. Итак, каждый план питания содержит одну еду для каждого дня недели.
export interface Meal {
id: number;
name: string;
}
export enum Weekday {
Monday = 0,
Tuesday = 1,
Wednesday = 2,
Thursday = 3,
Friday = 4
}
export interface Mealplan {
id: number;
mealsPerWeek: { [key in Weekday]: Meal };
}
Теперь у меня есть реактивная форма, в которой я хочу отобразить различные блюда из едыPerWeek и вернуться еда и день недели с [ngValue] . Это будет важно для удаления указанного c еды из foodsPerWeek
<select>
<option *ngFor="let meal of mealplan?.mealsPerWeek | keyvalue: returnZero"
[ngValue]="{meal: meal.value, weekday: meal.key}"
[label]="essen.value.name"></option>
</select>
Проблема сейчас заключается в том, что значение день недели теперь строка похожа на «Понедельник». Как вместо этого вернуть значение числа, например, 0 для понедельника? Я ожидал, что что-то вроде meal.key[key]
будет работать, но это не так.
console.log(this.form.meal.value.weekday) // "Monday", but expected 0.