Как правильно определять поведение блока?
modules.define('b-map-filter-bar', ['i-bem__dom'], function(provide, BEMDOM)
и с помощью объявления
onElemsSetMod
или (если так можно)
modules.define('b-map-filter-bar__elem', ['i-bem__dom'], function(provide, BEMDOM)
Я не понял твоего вопроса
У нас есть блок, в нём реакции на различные состояния.
Есть элементы с состояниями.
При клике на элемент необходимо менять состояния элемента. Для этого нужно сделать что-то подобное?
Это про elemInstances, такие элементы можно получать через elemInstances, их явно нужно наследовать от
'i-bem__dom'
, иначе модуль не загрузится автоматически, к ним нужно миксовать руками классi-bem
, если нужна ленивая инициализация, и т.д.В случае с элементами нужно
{ block: 'b-map-filter-bar', elem: 'elem' }, { ...
Последний
provide
возвращает не совсем то, что обычно ожидается. Для блока, обычно, возвращаетсяBEMDOM.decl('blockname')
, для элемента, соотв., желательно возвращать класс декларации элемента.Иначе не будет возможности доопределять элементы. (Ну, т.е., будет, но некрасиво)
@belozyorcev Я бы не рекомендовал пока использовать то, о чем пишет @zxqfox. Используйте лучше
onElemSetMod
.@apsavin Я бы тоже ;-)
p.s. Прочитай классный туториал по i-bem.js http://ru.bem.info/tutorials/bem-js-tutorial/