dedlfix: Formelsammlung effektiv ausbauen und Eingaben kontrollieren

Beitrag lesen

Tach!

Macht es eigentlich Sinn, sich ein Template im (Gemeinsamen-) Service für jede Formel zu bauen, wobei einerseits die Formelgleichung UND der HTML Code (Min. beiden Input Felder und das "Layout") zu hinterlegen.

Nein, Services sind nicht für die Darstellung zuständig. Du kannst aber jeweils eine eigenen Komponente für lediglich die Ausgabe der Formel erstellen. Vor allem dann, wenn diese Ausgabe mehrfach verwendet werden soll oder um die Komplexität der jetzigen Komponente, bestehend aus Ein- und Ausgabe, zu verringern.

Wobei der HTML Teil dann ebenfalls an das übergeordnete Modul / Constructor / HTML übergeben wird?

Wenn ein Service HTML-Code liefern soll, muss das als String erfolgen. Damit verlierst du je nach IDE Hilfestellungen bei der Bearbeitung. Um in einer Komponente einen String als HTML-Code auszugeben, sind weitere Kopfstände nötig, damit Angular das Escaping unterlässt. Sowas ist keine gute Idee. Component mit Parameter(n) ist der vorgesehene Weg. Zum organisierenden Zusammenfassen kann man zusammengehörende Teile in ein Modul packen.

Dann könnte doch über die Navigation der gewünschte Eingabe/Formelbereich angezeigt werden?

Mehrere Router-Outlets über das Routing zu befüllen ist ein Weg, wenn die Komponenten eigenständig sind und nicht direkt miteinander kommunizieren müssen. Ansonsten würde wohl die Eingabekomponente in ihrem Template die Ausgabekomponente einbinden, dann kann sie die Werte direkt am Parameter der Ausgabekomponente binden. Die Ausgabekomponente kann in der ngOnChanges()-Methode auf Änderungen der Parameter reagieren.

dedlfix.