Ich habe eine Komponente, die als Suchleiste fungiert. Es kann API-Anfragen stellen und die Ergebnisse über eine @Output
und EventEmitter
dem Rest der App zur Verfügung stellen, aber ich möchte auch, dass eine Funktion in die andere Richtung geht. Die Suchleisten-Komponente behält einen Verlauf der Suchvorgänge bei und ich möchte der übergeordneten Komponente einen Weg bieten, den Verlauf zu löschen. Das Beste, was mir einfällt, ist, eine Methode in meiner Suchleiste von einer übergeordneten Komponente aus aufzurufen.Eine Funktion in einem Kind Angular2-Komponente aufrufen?
Das Beste, was ich mir ausgedacht habe (aber nicht richtig umsetzen konnte), ist zu versuchen, eine EventEmitter
IN meine Suchleiste zu übergeben, und das Kind abonniert die Ereignisse der Eltern. Die @Input
hat die Bindung zum Zeitpunkt des Konstruktors noch nicht abgeschlossen, daher wird es schwierig, dies tatsächlich zu tun.
Ich denke, ich könnte versuchen, die Geschichte in der Elternkomponente zu speichern, aber der Grund, warum die Suchleiste eine Komponente ist, ist, weil es an mehreren Orten erscheint und dies nicht mit Trennung von Bedenken passt, so scheint es am besten zu sein Behalten Sie den Verlauf in der Suchleisten-Komponente bei.
Wie kann eine übergeordnete Komponente eine Funktion für eine untergeordnete Komponente aufrufen?
die Geschichte Suche Legen Sie in einem Service und Ihr Kind Komponente auf die Dienste binden kann 'history' -Instanz var. Der Dienst kann klarstellen, dass der Elternteil anrufen kann. Nur eine Idee. Habe es noch nicht ausprobiert. –
eine nette Lektüre - http://learnangular2.com/viewChild/ –