Что-то не могу сделать такую простую вещь, как забиндиться на onChange (а он есть?) radio-group из bem-components и получить значение?
Суть следующая: при изменении значения в группе радиокнопок b1__options нужно проверять значение, и если оно, например, равно 3, то делаем setMod(disabled) элементу b1__elem.
Собственно, застрял на этапе получения значения getVal().
Вот это никак не реагирует:
this._events(this._radioGroup).on('change', this._radioChange);
this._events(this._radioGroup).on('click', this._radioClick);
this._domEvents(this._radioGroup).on('change', this._radioChangeDom);
Отсюда пара вопросов:
- Есть ли
change? - Почему не происходит BEM-событие?
А при DOM-событии клика вылетает ошибка (Uncaught TypeError: this._radioGroup.getValue is not a function):
this._domEvents(this._radioGroup).on('click', this._radioClickDom);
Глянуть можно тут: https://github.com/rteamx/project-stub/commit/eed20a6634a587c127d8ae8f39f56cac882123dd
Событие
changeуradio-groupесть, а проблема, насколько я понимаю, в поиске радиогруппы (https://github.com/rteamx/project-stub/commit/eed20a6634a587c127d8ae8f39f56cac882123dd#diff-c21ebbbc14add5e478c8e1ff9dd94502R7).Я сильно не вчитывался в код, но если идея в том, чтобы найти блок
radio-groupна своем элементеoptions, то сделать это можно примерно так:findBlockOn()- это из прошлой версии? В текущей описанfindMixedBlock().Попробовал и так оба варианта, с
findBlockOn()падает на этапе поиска со словами, что не функция.А с
findMixedBlock()BEM клик и DOM change никак не реагируют, BEM change и DOM click приводят к прошлой ошибке (https://github.com/rteamx/project-stub/commit/8feb33671674632b014a41af424a8a87ac65f64a):@rteamx вы можете сэкономить кучу своего времени, просто открыв https://github.com/bem/bem-core/blob/v4/MIGRATION.ru.md и сделав поиск по странице с интересующим методом. До обновления документации я так и делал — весьма продуктивно.
В общем, очепятался и даже на заметил, вместо
getVal()написалgetValue():D