Не получается использовать mix, не указав block или elem:
block('header')(
mix()([
{ block: 'row', mods: { 'sac': true }},
{ block: 'section' }
]),
content()({
mix: {
block: 'row',
elem: 'col',
mods: { s: true }
},
content: [
{ elem: 'title' },
{ elem: 'intro' }
]
})
)
<div class="header row row_sac section">
<div>
<div class="header__title"></div>
<div class="header__intro"></div>
</div>
</div>
Песочница С элементом Если указать миксуемый элемент прямой на этой ноде, то придётся явно указывать block у элементов в контенте.
Можно ли заставить работать первый вариант?
Мне идея нравится, но вроде мы когда-то это обсуждали с @veged и была какая-то причина учитывать миксы только для БЭМ-сущностей. Сейчас не вспомню аргументацию.
cc @miripiruni
Немного магии) :santa:
Надо добавлять elem: ':trollface:'
@Guria http://goo.gl/U92Rk8 — может как-то так?
@zxqfox да, похоже на правду
@Guria только там не то оборачивается ;-\
я не понимаю, почему тикет называется «mix без block / elem», а в описании все примеры с указанием block/elem в mix?
вообще, должно быть можно писать
mix : [{ mods : { m1 : 'v1' } }]
и block/elem будет заполняться из контекста — пример@veged Речь о том, чтобы
Сейчас сработает хак с
cls
вместоmix
.@veged Хочется без магии и попроще вот такие штуки делать: http://goo.gl/M1PCd8
Кстати, похоже на баг ;-(
@veged прогу прощения за заголовок. Хочется на дом ноде получить класс элемента другого блока, без перетирания текущего контекста. Думал использовать для этого микс, но он не срабатывает на bemjson ноде, на которой нету block или elem.
пока всё что вы говорите выглядит как "won't fix"
@veged добавишь аргументацию для истории?
wrap
+content
(с элементами) это достаточно редкая конструкция — вполне можно уточнитьblock
для всех элементовthis.elem('e1')
вместо просто{ elem : 'e1' }
, а это всё усложнит и замедлитА какие минусы у того, чтобы мочь применять микс для не БЭМ-сущности?
начнутся другие проблемы-неконсистентности с тем как интерпретировать такой объект — с одной стороны он как-бы не БЭМ-сущность (т.е. не должен влиять на position, например), с другой там надо добавлять и
data-bem
если есть js в миксах и т.п. (т.е. в итоге выглядит как БЭМ-сущность)@veged весомо, принято