Wie erkennt man, wann sich ein @Input () - Wert in Angular ändert?

Ich habe eine übergeordnete Komponente CategoryComponent), eine untergeordnete Komponente videoListComponent) und einen ApiService.

Ich habe das meiste davon in Ordnung, d. H. Jede Komponente kann auf die JSON-API zugreifen und ihre relevanten Daten über Observables abrufen.

Die aktuelle Videolistenkomponente ruft nur alle Videos ab. Ich möchte dies nur nach Videos in einer bestimmten Kategorie filtern. Dies wurde erreicht, indem die categoryId über @ an das Kind übergeben wurd@Input().

CategoryComponent.html

<video-list *ngIf="category" [categoryId]="category.id"></video-list>

Dies funktioniert und wenn sich die übergeordnete CategoryComponent-Kategorie ändert, wird der categoryId-Wert über @ übergebe@Input() aber ich muss dies dann in VideoListComponent erkennen und das Video-Array über APIService erneut anfordern (mit der neuen categoryId).

n AngularJS hätte ich ein @ gemac$watch auf der Variablen. Wie gehe ich am besten damit um?

Antworten auf die Frage(18)

Ihre Antwort auf die Frage