{
block: 'header',
content: [
{ elem: 'logo', content: { block: 'logo' } },
{ elem: 'search', content: { block: 'search' } },
{ elem: 'login', content: { block: 'login' } }
]
}
или
{
block: 'header',
content: [
{ block: 'logo', mix: { block: 'header', elem: 'logo' } },
{ block: 'search', mix: { block: 'header', elem: 'search' } },
{ block: 'login', mix: { block: 'header', elem: 'login' } }
]
}
Лично я разницы почти не вижу, но может есть какие-то подводные камни о которых следует знать при выборе оформления кода?
Разница в том, что в первом варианте у тебя будет дополнительная вложенность. Сразу появляется минут уже при написании стилей – теперь тебе для доопределения блока
logo
нужно будет использовать каскад.header__logo .logo
вместо.header__logo
.Второй подход избавляет от лишней дом-ноды (чаще всего в ней нет необходимости) и размещает блок и элемент родителького блока на одной дом ноде.
Но зато в первом случае будет применяться шаблон, а при миксовании — нет ;-)