Angular:如何处理数组中的外键

问题描述 投票:0回答:1

我有一个mealmealplan类。每个进餐计划都有一个由五个外键组成的数组,涉及到进餐对象。

export class Meal {
  id: number;
  name: string;
}

export class Mealplan {
  id: number;
  mealsPerWeek: Meals[] = new Array(5);
}

所有数据都这样存储在Angular的内存数据服务中:

export class InMemoryDataService implements InMemoryDbService {
  createDb() {
    const meals = [
      {
        id: 101,
        name: 'Meal 1',
        price: 18.00,
      },
      {
        id: 102,
        name: 'Meal 2',
        price: 20.00,
      },
    ]; 
    const mensaplan = [
      {id: 1, mealsPerWeek: [101, 102, 103, 104, 105]},
      {id: 2, mealsPerWeek: [105, 104, 103, 102, 101]}
    ];

return {meal, mealplan};

Mensaplan.service.ts:

export class MealPlanService {

  private mealplanUrl = 'api/meaplan';

  constructor(private http: HttpClient) {
  }

  getMealplan(): Observable<Mealplan[]> {
    return this.http.get<Mealplan[]>(this.mealplanUrl)
  }
}

mealplan.component.ts

 getMealplan(): void {
   this.mealplanService.getMealplan()
     .subscribe(mealplan => this.mealplan = mealplan);
 }
}

如果现在使用{{mealplan.mealsPerWeek}}在模板中对其进行渲染,则只会得到数组101,102,103,104,105

处理ID数组以显示类meal的属性的最佳方法是什么?>

结果应该类似于

[MealPerWeek:膳食1(价格),膳食2(价格)等)>

我有上课和用餐计划。每个进餐计划都有一个由五个外键组成的数组,这些键指向进餐对象。出口餐餐{id:number;名称:字符串; }出口舱位Mealplan {id:...

arrays angular foreign-keys in-memory-database angular-observable
1个回答
0
投票

例如,使用Map而不是Object:可以很容易地迭代和获取进餐的值

© www.soinside.com 2019 - 2024. All rights reserved.