Was ist die beste Vorgehensweise, um eine Komponente einzurichten und auszuführen und sie mit verschiedenen Stilen an verschiedenen Orten zu verwenden? (dynamische Stile?)Gleiche Komponente, verschiedene Stile
1
A
Antwort
1
Sie könnten styleUrls
/styles
Optionen in Ihnen haben Component Metadaten, die Sie verwenden würden, wenn diese Komponente gerendert wird in der Ansicht. Es wäre gut, wenn Sie ViewEncasulation
als Emulated
/Native
(Schatten DOM) verwenden.
würde ich empfehlen, auf lesen this great article
5
Wechseln zwischen verschiedenen Arten verwendet: Host-Kontext()
Schalter von verschiedenen (vordefinierten Klassen oder Attribute) Anwendung
:host-context(.class1) {
background-color: red;
}
:host-context(.class2) {
background-color: blue;
}
<my-comp class="class1></my-comp> <!-- should be red -->
<my-comp class="class2></my-comp> <!-- should be blue -->
Verwenden globale Stile
* /deep/ my-comp.class1 {
background-color: red;
}
// or to style something inside the component
* /deep/ my-comp.class1 /*deep*/ div {
border: solid 3px yellow;
}
* /deep/ my-comp.class2 {
background-color: blue;
}
Mit host-Bindung
@Component({
selector: 'my-comp',
host: {'[style.background-color]':'backgroundColor'}
})
class MyComponent {
@Input() backgroundColor:string;
}
<my-comp background-color="red"></my-comp>
<my-comp background-color="red"></my-comp>
Siehe auch https://stackoverflow.com/a/36503655/217408 für einen interessanten "Hack".
0
Laut mir die beste Praxis wäre die Kontrolle der Stile durch Eigenschaften (Attribute) der Komponente.
Verwandte Themen
- 1. Verschiedene Routen für die gleiche Komponente
- 2. Funktionsargumente: zwei verschiedene Stile?
- 3. Mehrere jquery (Telerik) Datepicker und verschiedene Stile
- 4. Android gelten Stile für verschiedene Bildschirme
- 5. Verschiedene Stile für Windows-Formulare in Ironpython
- 6. Verschiedene Stile auf Schaltfläche anwenden, wenn gedrückt
- 7. 2 verschiedene DataAnnotation Validierung Stile mit CSS
- 8. Mehrere Dienste exportieren die gleiche COM-Komponente
- 9. Gleiche Abfrage verwendet verschiedene Indizes?
- 10. Gleiche Taste verschiedene Reduzierungen (HADOOP)?
- 11. Verschiedene RoutePrefix, gleiche Controller-Namen
- 12. Subsonic: Gleiche Spaltenname verschiedene Tabellen
- 13. Gleiche Erklärung zwei verschiedene Arten
- 14. Angular2 richtige Weg Element/Komponente Stile zu bekommen
- 15. Angular 2 Set dynamische Stile von Komponente (Hintergrundbild: linearer Farbverlauf)
- 16. imshow zeigt verschiedene Bilder für gleiche Matrizen?
- 17. gleiche Einheit Test für verschiedene Implementierungen
- 18. Laravel Routes - Gleiche Route, verschiedene Controller
- 19. DDD "gleiche" Entität für verschiedene Kontextgrenzen speichern
- 20. Model View Presenter - gleiche Ansicht, verschiedene Presenter
- 21. Verschiedene Arten haben gleiche Signaturen in CIL
- 22. Asp.net MVC gleiche Ansicht Name, verschiedene Wege
- 23. Yii2 gleiche Aktion reagiert auf verschiedene Formatanforderungen
- 24. Verschiedene Branding für die gleiche Codebasis
- 25. Hibernate gleiche Aliasnamen für verschiedene machen verbindet
- 26. Code-Duplizierung, gleiche Funktionalität verschiedene Typen
- 27. vim: gleiche Syntaxhervorhebung für verschiedene Dateierweiterungen
- 28. Setzen Sie verschiedene Stile auf ein einzelnes Element
- 29. Wie man verschiedene Stile auf DataGrid-Spalten anwendet
- 30. Warum verwendet Perl open() Dokumentation zwei verschiedene FILEHANDLE-Stile?
Ja,: host-context() ist perfekt für mich. Vielen Dank. –
nicht praktikabel, wenn man ein ganzes Stylesheet pro Thema braucht, wenn du tausende von Klassen hast und 10 Themen benötigst ... – fdsfdsfdsfds
Ich sehe nicht, wie dein Kommentar und meine Antwort zusammenhängen. –