Где-то попадалась статья (или пост), не могу сейчас найти.
Задача: "подмешать" к основному блоку функционал другого.
В простейшем варианте (то, что заработало) получается во время инициализации первого сказать примерно так:
var second_block_object = this.domElem.bem('second_block');
-- тогда имею почти то, что нужно: объект второго блока, ассоциированный с dom-узлом.
Но хотелось бы уметь указывать необходимость примеси из шаблонов и оттуда же передавать параметры второму блоку (js()({ ... })
). К сожалению, через mix
таким образом подцепить нужный блок не удаётся. Как это делается правильно? (Как-то ведь делается?.. Вроде бы видел даже примеры...)
Можно прямо в BEMJSON передать:
@tadatuta Ага, идея, псиб! А должен ли при этом цепляться и отрабатываться определённый шаблон для 'b2' ('second_block')? Пытался указывать параметры по умолчанию там, но -- не цепляется. Это мой глюк или он не обязан?
UP: Собственно, не в параметрах дело: могу я из шаблона блока-примеси изменить свойства базового блока (def, content, tag etc)?
Сейчас это ожидаемое поведение — шаблоны на миксы не применяются. Но мы думаем над тем, чтобы это тоже работало: https://github.com/bem/bem-xjst/issues/340