получить список всех идентификаторов дочерних объектов после нажатия пользователем кнопки angular6 - PullRequest
0 голосов
/ 21 мая 2019

Я отображаю список записей из API на странице.На странице отображаются как родительские, так и дочерние объекты.

Данные JSON

const dataList = [
  {
    "id": 9,
    "name": "Past Menu",
    "serveDate": "2019-05-08 00:00:00",
    "meals": [
      {
        "id": 27,
        "name": "6",
        "description": "6",
        "image": "",
        "mealType": "BREAKFAST",
        "unitPrice": 6,
        "status": "ENABLED"
      },
      {
        "id": 28,
        "name": "7",
        "description": "7",
        "image": "",
        "mealType": "BREAKFAST",
        "unitPrice": 7,
        "status": "ENABLED"
      },
      {
        "id": 30,
        "name": "9",
        "description": "9",
        "image": "",
        "mealType": "BREAKFAST",
        "unitPrice": 9,
        "status": "ENABLED"
      }
    ]
  },
  {
    "id": 8,
    "name": "Good Menu",
    "serveDate": "2019-05-10 00:00:00",
    "meals": [
      {
        "id": 28,
        "name": "7",
        "description": "7",
        "image": "",
        "mealType": "BREAKFAST",
        "unitPrice": 7,
        "status": "ENABLED"
      },
      {
        "id": 30,
        "name": "9",
        "description": "9",
        "image": "",
        "mealType": "BREAKFAST",
        "unitPrice": 9,
        "status": "ENABLED"
      },
      {
        "id": 31,
        "name": "10",
        "description": "10",
        "image": "",
        "mealType": "BREAKFAST",
        "unitPrice": 10,
        "status": "ENABLED"
      }
    ]
  }
];

ВИД HTML

<div *ngFor="let item of menuList">
    <h2 (click)="getMealsIds()">Menu</h2>
    {{item.name}} - {{item.servedate}}
  <h2>Meals</h2>
    <div *ngFor="let meal of item.meals">
        <span (click)="removeMeal(meal, item.id)">{{meal.name}} - {{meal.mealType}}</span>
    </div>
</div>

Теперь, чего я хочу достичь, так это когда я нажимаю на конкретное меню, я могу получить всеидентификаторы блюд в массиве

FUNCTION

getMealsIds(parent) {
console.log(parent.meals.id)
}

Любая помощь о том, как сделать эту работу, как следует?С моим текущим сценарием, когда его щелкнули, я не определил ошибку

1 Ответ

1 голос
/ 21 мая 2019

Вы хотите map массив.если parent равно dataList[0], то

console.log(parent.meals.map(m => m.id)); // [27, 28, 30]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...