Не могу разобраться по описанию в разделе Декларация блока, как примешивать блок (отдельный специально подготовленный миксин?) к элементу или модификатору. Ткните меня, пож., в примеры использования declMixin? В bem-core, bem-components что-то не вижу ничего.
Там же в доке ниже как раз приводится пример для элемента: https://ru.bem.info/platform/i-bem/declaration/#Примешивание-миксина
@tadatuta В доке примера не увидел. Есть "Аналогично для элемента с использованием метода declElem."
Пробовал сделать аналогично, вот так примерно (пытюсь примешать mixin
expandableк элементу'KOListDetails__section'):При инициализации элемента (
onSetMod:js:inited) вижу, что стандартных наследуемых методов bem-объектов нет. Как минимумthis.findChildBlock(),this._block()не определены.Если правильно понимаю, в
declEntity(i-bem.vanilla.js) не передаётсяbase, то наследуется либо от уже определённой (вentities[]) сущности, либо от переданного вbaseCls"пустого определения"Elem(вdeclElem:var baseCls = Elem):base || (base = entities[entityName] || baseCls).Пробую определять
expandableчерезdeclBlock-- всё заводится и работает.Ну, пожалуй, кроме того, что не работают определённые вexpandableтриггеры на модификаторыonSetMod/beforeSetMod.Что делаю не так?
Возможно вообще в миксинах реагировать на изменение модификаторов экземпляра-хозяина?М.б., всё-таки есть где-то примеры использования миксинов?
UPD По поводу модификаторов заблуждался: забыл о
this.__base. Всё работает.