Какова наилучшая практика для настройки и запуска одного компонента и использования его с разными стилями в разных местах? (динамические стили?)Тот же компонент, разные стили
1
A
ответ
1
У вас может быть styleUrls
/styles
опции внутри вас Компонентные метаданные, которые вы будете использовать, когда этот компонент будет отображаться на виду. Было бы хорошо, если вы используете ViewEncasulation
как Emulated
/Native
(будет тень DOM).
Я рекомендовал бы читать на this great article
5
Переключение между различными стилями с помощью: хост-контекст()
коммутатора, применяя различные (предопределенные классы или атрибуты)
: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 -->
Использовать глобальные стили
* /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;
}
Использование хост-связывающим
@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>
Смотрите также https://stackoverflow.com/a/36503655/217408 для интересной "взломать".
0
Согласно мне, лучшей практикой будет контроль стилей посредством свойств (атрибутов) компонента.
Смежные вопросы
- 1. Тот же сервер, тот же файл, разные типы mime
- 2. React JS 2 вызывает тот же компонент
- 3. Реагировать маршрутизатор повторно оказывать тот же компонент
- 4. Угловое 2: использование тот же компонент неоднократно
- 5. Используя тот же компонент в ExtJS
- 6. Android: разные заголовки, тот же список
- 7. Тот же запрос использует разные индексы?
- 8. Ember: тот же маршрут, разные пути
- 9. Mysql: тот же запрос, разные результаты
- 10. Laravel «тот же» код разные результаты
- 11. Рельсы маршруты: тот же контроллер разные маршруты
- 12. xsd тот же элемент, разные типы?
- 13. Тот же порт, но разные DocumentRoots
- 14. Тот же код, разные переменные, не работает?
- 15. Тот же запрос, разные результаты. Возможные причины?
- 16. Тот же отчет, разные базы данных
- 17. Маршруты Laravel - тот же маршрут, разные контроллеры
- 18. Тот же оператор SQL, дающий разные результаты
- 19. тот же скрипт python, но разные результаты
- 20. Странное поведение: тот же код, разные ошибки
- 21. CYPHER - разные COUNT возвращают тот же результат
- 22. .NET Hashtable - «Тот же» ключ, разные хэши
- 23. тот же сервер, прослушивающий разные сокеты
- 24. LINQ/LinqPad: тот же запрос разные результаты
- 25. C++ Тот же массив - разные выходы
- 26. тот же запрос выборки разные результаты
- 27. DataGrid: тот же столбец, разные методы ввода?
- 28. Тот же вариант использования, разные актеры, несколько разные сценарии
- 29. css разные стили ссылок
- 30. button javafx разные стили
Да,: host-context() идеально подходит для меня. Благодарю. –
нецелесообразно, когда нужна целая таблица стилей для каждой темы. Если у вас тысячи классов и вам нужно 10 тем ... – fdsfdsfdsfds
Я не вижу, как связаны ваши комментарии и мой ответ. –