Ich habe 2 Kind-Komponenten innerhalb der Elternkomponente, KindA und KindB fungieren als Master/Detail.Angular 4 Master/Detail-Dienst Kommunikation zwischen Kindern Komponenten
ich einen Shared Service verwenden, die Daten von WebAPI erhalten, und diese Kinder nutzen diesen Shared-Service die Daten zu erhalten.
api/messages - erhalten alle Nachrichten/Master
api/Nachrichten/1 - get 1-Nachricht mit der ID/Detail-
Child A, der Master ist ein Service-Displays mit den Liste der Nachrichten in der Ansicht. api/messages gibt alle Nachrichten zurück, jede Nachricht hat eine ID.
Wenn ich jetzt in die Master-Liste auf der Nachricht klicke, kann ich die ID der Nachricht erhalten und sie in einer Variablen in der Master-Komponente speichern. Nun besteht das Problem darin, eine Nachricht Detail in Detail-Komponente anzuzeigen, wenn Nachricht in Hauptkomponente geklickt. Ich habe versucht, ID zu einem Dienst vorbei, aber es nicht
Message Service Geteilt funktioniert:
export class MessageService {
constructor(private http: HttpClient) { }
getMessages(): Observable<any> {
return this.http.get('/api/messages').map(data => data)
}
getMessageById(): Observable<any> {
return this.http.get('/api/messages/3').map(data => data)
// die ID 3 sollte von Master-Komponente kommen und dass die ID übergeben.
}
}
Master-Komponente: zeigt die Liste der Nachrichten in der Liste
emails: any[];
constructor(private messageService: MessageService) { }
ngOnInit() {
this.messageService.getMessages().subscribe(data => this.emails =
data.messages);
}
}
Detail Komponenten
message;
constructor(private messageService: MessageService) {
}
ngOnInit() {
this.messageService.getMessageById().subscribe(data => this.message =
data);
}
}
mehr über Redux lesen Sie die ID zu einer untergeordneten Komponente vorbei wird nicht funktionieren. Es sollte die ID zu einem Kind übergeben und eine Funktion im Detail Komponente vielleicht showdetail (3) in Kind-Komponente ... aber wie es nur zu tun, wenn seine gedrückt Master-Komponente – AlexFF1
können Sie API aufrufen, wenn ID in Kind festgelegt wird Komponente, im Grunde können Sie nur einen Setter hinzufügen, in dem Sie überprüfen können, was die ID eingestellt ist und API von dort aufrufen, aktualisierte auch meine Antwort, Prost !! –