2016-12-26 2 views
1

Ich habe Komponentenprüfung mit Array Reviews und Komponente CreateReview mit Formular, um neue Überprüfung zu erstellen. In diesem Moment sind diese beiden Komponenten auf der gleichen Seite, so dass ich ein neues Element von CreateReviewComponent auf Array von ReviewComponent schieben könnte, um alle Bewertungen mit neuen anzuzeigen. Wie geht das?Wie schiebe Objekt von einer anderen Komponente zum Array?

+0

wäre es effizienter, einige Codes –

Antwort

1

Sie können Ihre Bewertungen in einem Service anzeigen lassen und in ReviewComponent die in diesem Service erhaltenen Bewertungen anzeigen. Und wenn alles in Ordnung ist, rufen Sie in Form der CreateReviewComponent den gleichen Dienst auf, um die neue Überprüfung der Liste hinzuzufügen. Wenn beide Komponenten den Dienst injiziert haben, teilen beide Themen dieselbe Instanz des Dienstes und die Liste der Bewertungen ist identisch.

Ich hoffe, das hilft!

+0

zu posten In diesem Ansatz ist das Problem (bitte korrigieren Sie mich, wenn ich falsch liege), weil die Anwendung mehrere Instanzen des Dienstes verwenden. Also, wenn ich versuche, meine Rezension zu schieben, bekomme ich Fehler, dass das Array meiner Rezension nicht definiert ist, –

+0

sorry @ maciek-drabicki Ich habe nur Ihren Kommentar sehen, nein, wenn Sie keine neue Instanz in der gleichen Registerkarte oder Seite erstellen, wird es Verwenden Sie die gleiche Instanz des Dienstes, ich habe eine Anwendung mit einigen gemeinsamen Diensten, wie Messaging, Preloader, Auth, etc. Und ist die gleiche Instanz. Sie können auch angeben, dass eine neue Instanz des Dienstes im folgenden Link erstellt werden soll. Https://angular.io/docs/ts/latest/guide/dependency-injection.html :) –

Verwandte Themen