Добрый день. Разбираюсь с БЭМом. Предположим, я реализовал блок label, использую его в технологии BEMJSON, по нему формируется HTML через BEMHTML, привязывается js, все хорошо. Встала задача динамически создавать блок label на уже отображенной странице по действиям пользователя.
Насколько я понимаю, мне необходимо сформировать HTML этого блока и проинициализировать его. что- то типа createLabel(parentBlock,params)
Как правильно реализовать эту возможность?
BEMHTML можно использовать на клиенте. в i-bem__dom есть методы, которые вставляют строки в DOM и инициализируют блоки, получившиеся в результате.
@KondakovArtem можно добавить необходимые шаблоны на клиент и генерировать разметку в рантайме.
В label.deps.js добавить
Читается пример как «Технология js данного блока зависит от технологии bemhtml блока
label
» (в данном случае — самого себя).После этого, если правильно сконфигурирована сборка (примером может служить https://github.com/bem/project-stub/tree/bem-core/.enb/make.js) шаблоны станут доступны в виде модуля: