Angular 2-Schnittstelle für Service

Ich möchte eine Suchkomponente entwickeln. Hier ist der Anwendungsfall:

Diese Komponente ruft einen Dienst mit den Suchbegriffsparametern auf.Der Dienst ruft den API-Endpunkt auf und gibt die resultierenden Objekte als Auflistung zurück. Die Komponente zeigt die Ergebnisse in der Vorlage an.

Ich möchte nur eine Suchkomponente schreiben, die je nach Fall unterschiedliche Dienste aufrufen kann. Stellen Sie sich vor, ich habe zwei Dienste:

SearchInMaleEmployeeService SearchInFemaleEmployeeService

Beide dieser Services implementiert eine Suchfunktion, die eine Liste der Mitarbeiter zurückgibt. Ich möchte meiner Komponente mitteilen, welcher Service vom jeweiligen Fall abhängt. In C # können wir mithilfe der Schnittstelle dem Komponentenkonstruktor mitteilen, welcher Dienst verwendet werden soll.

Wie kann ich das in Angular2 machen?

Bonus-Frage: Wie kann ich meiner Komponente mitteilen, welche Vorlage zum Rendern der Suchergebnisse verwendet werden soll, abhängig vom Typ des vom Service zurückgegebenen Objekts?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage