Сообщение от monolithed
|
А теперь представь что у тебя на сайте 100 тем (пример любой почтовой службы) и некоторые стили пересекаются.
В моем предствлении это будет так:
@set theme_1, theme_2, theme_3 < theme (data) {
&.title: data.title
}
|
Ну я же говорю, что у мя есть специальная прослоечка, которая делает нормальную реализацию БЭМ
Только я не мешаю классы в html, а делаю @extend в Stylus, т.е.
<div class="b-me"> ... </div>
.b-me {
@extend .b-about;
}
Т.е. у мя тоже всё гуд
Единственное принципиальное отличие твоего подхода от моего, что ты полностью абстрагируешься от html, заменяя сущность тега, на сущность элемента, а у меня абстракция на уровне блоков, т.е. структура блока всё равно описывается старым добрым HTML:
{setBEM b-button, tag: 'span'}
{template bButton() extends iBlock}
<button class="{this.blockName}__btn">
...
</button>
{end}
/// Пример вызова:
{bem b-button, name: '...', ...}Текст кнопки{end}
Но кстати, если у меня меняется именно тема, то я создаю не дочерний блок, а применяю модификатор: b-button_theme_dark и т.д.