Я думаю, что appData
- это зависимость, которую вы ввели в свой PeopleComponent
для получения данных, которые AppComponent
получает от какого-то REST API.Это общий сервис, который вы создали для передачи данных между AppComponent
и PeopleComponent
.Но у них есть отношения Parent-Child, вы можете просто передавать данные между ними, используя свойство @Input
.Поэтому я не уверен, почему вы делаете это с помощью Shared Service.
Исходя из вашего OP, PeopleComponent
является дочерним для AppComponent
, поэтому вы можете просто передать people
как@Input()
свойство для PeopleComponent
.
Просто добавьте это в app.component.html:
...
<app-people [people]="people"></app-people>
...
А теперь определите свойство @Input
в вашем PeopleComponent.Примерно так:
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'app-people',
templateUrl: './people.component.html',
styleUrls: ['./people.component.css']
})
export class PeopleComponent implements OnInit {
@Input() people: any;
ngOnInit() {
pre: this.people = this.people;
this.getPeople();
}
getPeople(): any {
console.log("people.component getPeople()");
}
}
Вот вам Рабочий образец StackBlitz для вашей ссылки.