Ich versuche, eine Komponente basierte Anwendung zu bauen, die die meisten der Code sollte mit einigen anderen Stylesheets usw.Angular2 Komponenten Fabrik für erweiterte Komponenten
Das Ziel ist wiederverwendbar, auch sein, dass wir einige Kernkomponenten haben , die wir auch für andere Projekte verwenden können. Sie sollten erweiterbar sein, so können Sie den Stil, Funktionalität anpassen, usw.
Nun Ich versuche, eine Lösung für mein Problem zu finden: Ich mag würde, einen Mechanismus haben, dass, wenn ich eine Komponente erweitern, Die Anwendung lädt bereits die erweiterte Komponente und nicht die Super-Komponente. Ich weiß, dass ich eine neue Komponente für die erweiterte Komponente erstellen könnte, aber ich muss den Code in der gesamten Anwendung anpassen.
Ein kleines Beispiel: Ich habe eine Komponente EditableList, mit einem grundlegenden Styling und Logik und einer runden Schaltfläche Komponente (ListButton). Die EditableList-Komponente wird wie in App1 verwendet.
Jetzt in der App2, möchte ich erweitern/überschreiben die ListButton-Komponente, die es nicht mehr rund ist, sondern eine rechteckige (RectListButton). Wenn ich jedoch die Komponente erweitere, muss ich eine neue Komponente erstellen (zum Beispiel RectListButton), den Code von EditableList in eine neue Komponente kopieren, den ListButton in RectListButton (in der EditableList-Komponente) ändern und diese neue EditableList2-Komponente in meinem App2 verwenden .
Gibt es eine Möglichkeit, eine Fabrik zu haben, die erkennt, dass ich diese Komponente erweitert habe und die erweiterte Komponente stattdessen die Basiskomponente lädt? Das bedeutet für mein Beispiel, ich muss nur den ListButton erweitern und die EditableList Komponente erkennt automatisch, dass der ListButton überschrieben wurde und lädt meine erweiterte RectListButton in (oder vielleicht ListButtonExtended für eine bessere Benennung). Daher kann ich die EditableList-Komponente wiederverwenden, ohne sie zu kopieren und zu ändern.
Vielen Dank!
Grüße Fabian