Что-то я сломался на этом месте.
Вот есть у меня, скажем, блок input из bem-components. К нему примиксован элемент моего блока. Скажем, my-block__control.
{
block: 'input',
mix: { block: 'my-block', elem: 'control }
}
Из my-block легко получить этот input:
const input = this.findChildElem('control').findMixedBlock(Input)
.
Но можно ли аналогичным образом теперь из input получить элемент control? Например, input'ов много, я вешаю обработчик onchange на них, и этот обработчик должен взаимодействовать с миксованным элементом control. Каким-то из методов поиска можно к нему обратиться? Хочется что-то вроде такого:
input.findMixed*({ block: 'my-block', elem: 'control' })
Или только заранее формировать соответствия блоков и элементов и по ним уже ориентироваться?
Чтобы повзаимодействовать с примиксованным
control
-ом, можно просто подписаться на событие инпута изmy-block
и в обработчике дергать уже собственный элементcontrol
(т.е. обработка события просто переезжает из инпута вmy-block
):Это если контрол один. А когда их много, и надо обратиться к control конкретного инпута?
Ну и вообще это лишь пример. Вопрос больше о том, существует ли метод, позволяющий из инстанса инпута получить примиксованный к нему элемент
control
блокаmy-block
?