Добрый вечер!
Начал проект на свежей версии bem-core. Предыдущая была - 3.2.0, в связи с этим возникло много вопросов, и этот - самый проблемный. У меня прекрасно ищутся элементы:
this.findChildElem({elem: 'row', modName: 'error', modVal: true})
Но вот при попытке найти аналогичным образом блок
this.findChildBlock({block: 'input', modName: 'email', modVal: true})
Мне валится ошибка: Block must be a class or description (block, modName, modVal) of the block to find.
На странице https://ru.bem.info/platform/i-bem/dom/ пример вообще достаточно странный:
modules.define('attach', ['i-bem-dom', 'button'], function(provide, bemDom, Button) {
provide(bemDom.declBlock(this.name, {
onSetMod: {
'js': {
'inited' : function(modName, modVal) {
this._button = this.findChildBlock(Button);
}
}
}
}));
});
Из него вообще не понятно, как мне найти внутри блока 'attach', например, блок 'button' такого вида:
{ block: 'button', modName: 'foo', modVal: 'bar' }
Подскажите, пожалуйста, что я делаю не так?
Если коротко, то
А подробно про все изменения в новой версии можно прочитать в https://ru.bem.info/platform/libs/bem-core/4.1.1/migration/