Привет ребят. Я не могу понять для чего нужен elem в bemjson. Ведь можно всё сделать через блоки, и при необходимости использовать mix для того, чтобы доопределить что нибудь? Или я скорей всего чего то не догоняю) Подскажите пожалуйста?
Привет ребят. Я не могу понять для чего нужен elem в bemjson. Ведь можно всё сделать через блоки, и при необходимости использовать mix для того, чтобы доопределить что нибудь? Или я скорей всего чего то не догоняю) Подскажите пожалуйста?
@mikvys Самая простая аналогия для элементов — это Shadow DOM в спеке Web Components. Те части блоков, которые не должны «торчать наружу», а являются неотъемлемой частью блока и без него не имеют смысла.
Если у меня есть блок search, то текстовое поле - это ведь его неотъемлемая часть? В то же время оно будет "торчать наружу" так как текстовое поле может несколько раз использоваться на странице. Значит мы помещаем блок внутрь блока, и потом можем доопределить блок текстовое поле в блоке search используя mix. Тогда выходит, что мы помещаем элемент внутрь блока только тогда, когда это что то уникальное, то, что не может использоваться больше нигде?
Нет, просто поисковое поле будет миксом блока
input
и элементом блокаform
:И автоматически получается логичное разделение: весь код, который действительно универсальный, окажется в
input
, а конкретика про какие-нибудь отступы, нужные именно в данной форме — вform__input
.Спасибо, кажется разобрался :)