2017-06-22 9 views
0

Ich habe eine eckige 2-Anwendung, in der ich die Möglichkeit für einen Benutzer implementieren möchte, ihr Farbschema aus einer Liste von vorgegebenen Farbpaletten auszuwählen. Wenn sie ein Thema auswählen, werden ALLE relevanten Instanzen von Farbe, Hintergrundfarbe usw. in die entsprechende neue Farbe der Themenpalette geändert. Gibt es eine Möglichkeit, dies von einem Angular Controller zu implementieren?Angular2: Aktualisieren Sie alle Farbzuweisungen in CSS dynamisch

Ich weiß, dass Sie bestimmten Elementen mit [class.className] oder [ngClass] bedingt Klassen hinzufügen können, aber offensichtlich ist es nicht praktisch, die Stile für jedes einzelne Attribut in einer großen Anwendung einzeln ändern zu müssen.

Spezifischer Anwendungsfall: (click) Listener, der an eine Schaltfläche "Update Theme" angehängt ist, wird von einer Controller-Funktion behandelt, die zum Ändern der css-Farbwerte in der .css-Datei verwendet wird.

Hat jemand in Angular2 dynamische/benutzergesteuerte Themen/Farben implementiert? Irgendwelche Vorschläge, wie man das angeht?

+0

Was ist mit dem Laden verschiedener Versionen eines Stylesheets basierend auf der Benutzerauswahl. Die Versionen würden die gleichen Klassennamen aber unterschiedliche Werte/Stile verwenden. Der onclick-Handler kann so etwas tun https://stackoverflow.com/a/13735267/4084574 – mhatch

+0

ähnlich wie mhatchs link, aber mit einem eckigen Code https://StackOverflow.com/questions/39643042/load-css-file-dynamically -for-theming – LLai

Antwort

Verwandte Themen