У меня есть два компонента: FoodComponent
и CategoryComponent
в категории компонента html:
<div *ngFor="let category of categoryItems">
<mat-checkbox data-id="{{category.id}}" (change)="loadFoods(category.id)">{{category.title}} ({{category.foodCount}})</mat-checkbox>
</div>
и
loadFoods(catId) {
// update data to foodcomponent, I don't know how
}
В пищевом компоненте:
<mat-card class="food-card" *ngFor="let food of foodItems">
<mat-card-header>
<!-- <div mat-card-avatar class="food-header-image"></div> -->
<mat-card-title>{{food.title}}</mat-card-title>
<mat-card-subtitle> </mat-card-subtitle>
</mat-card-header>
<img mat-card-image src="https://material.angular.io/assets/img/examples/shiba2.jpg" alt="Photo of a Shiba Inu">
<mat-card-content>
<div>
{{food.description}}
</div>
</mat-card-content>
<mat-card-actions>
<button mat-raised-button color="primary" class="left">Add to cart</button>
<button mat-raised-button color="warn" class="left">Add to favourite</button>
<button mat-button class="right">{{food.price}} USD</button>
<div class="clear"></div>
</mat-card-actions>
</mat-card>
foodItems
инициализируется в FoodComponent
.
Оба имеют отдельный сервис: FoodService и CategoryService, которые отправляют HTTP-запросы к API.
Как отправить данные из CategoryComponent (где существует событие изменения) в FoodComponent и обновить этот массив foodItems
?