Подскажите пожалуйста в чем концептуальная разница по сабжу? И по каким причинам конструкция в bemhtml: block('content').mix()({block: 'grid'}) добавляет к блоку класс, но не формирует стили. А в bemjson: {block : 'content', mix: {block: 'grid'}, добавляет и класс и стили.
Привет!
Предположу, что у тебя сборка устроена так:
В таком случае блок
grid
не попадёт в декларацию (bemdecl.js). Чтобы это исправить, нужно добавить его в зависимости к блокуcontent
:content.deps.js
Спасибо. Зависимость вписал, но файл был по умолчанию content.browser.js, а не content.deps.js. Надо будет изучить декларацию (bemdecl.js), а то не совсем ясно почему в первом случае grid не попадёт в декларацию.
@Bumerang47 это особенность сборки. сборщик умеет парсить BEMJSON и из него понимать, какие сущности (блоки, элементы и модификаторы) необходимо подключить. а вот из шаблонов собрать список сущностей — задача нетривиальная и на данный момент предполагается, что сущности, добавляемые на уровне шаблонов, будут вручную указаны в
deps.js
.