我已经建立了具有两个属性的“ meal”类,就像从angular的《英雄之旅》教程中一样:
export class Meal {
id: number;
name: string;
}
现在,我想声明一个类似“ Mealplan”的类。每个膳食计划应包含五个膳食对象,例如:
export class Mealplan {
weekId: number;
mealPlan: Meal[] = new Array(5)
}
重要的是,我想将现有的餐点添加到餐计划中。我不想创建新的用餐对象。是否建议仅在Mealplan中参考餐ID?例如:
createDb() {
const meal = [
{
id: 101,
name: 'Tatar',
price: 18.00,
description: "Sojasauce / Chili / Crème fraîche / Tobiko"
};
和
const mealPlan = [
{
id: 1,
mealPlan: [101, 101, 101, 101, 101]
}
]
这是解决这个问题的最好方法吗?还是使用地图或列表或其他方式会更好?
您可以像这样将类型与meatPlan关联:
export class Mealplan {
weekId: number;
mealPlan: [Meal, Meal, Meal, Meal, Meal];
}
现在,这样做将是invalid:
let plan = new MealPlan();
plan.mealPlan = [new Meal(),new Meal(),new Meal(),new Meal()];
而这是有效:
let plan = new MealPlan();
plan.mealPlan = [new Meal(),new Meal(),new Meal(),new Meal(), new Meal()];