1

我已经建立了具有两个属性的“膳食”类,例如 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]
 }
]

这是我处理这个问题的最好方法吗?或者使用地图或列表或其他东西会更好吗?

4

1 回答 1

2

你可以像这样将一个类型关联到mealPlan:

export class Mealplan {
  weekId: number;
  mealPlan: [Meal, Meal, Meal, Meal, Meal];
}

现在,这样做是无效的:

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()];
于 2020-01-17T19:18:31.643 回答