Всем привет!
Начинаю изучать BEM, пытаюсь поработать с библотекой bem-forms. Библиотеку подключил, прописал путь до библиотеки в .bem/make.js
. BEMHTML
библиотеки отрабатывает, html-tag формы преобразуется из div
в form
. Не получается доопределить поведение формы в JavaScript
. Пытаюсь сделать это следующем образом, как указано здесь.
modules.define('form', function(provide, Form) {
provide(Form.decl({
onSetMod: {
'js': {
'inited': function() {
console.log('form started ...');
}
}
}
}));
});
При этом поведение блока button
из библиотеки bem-components
таким же образом переопределить получается.
Использую bem-tools
и project-stub
.
Пока писал, заметил, что у формы не проставляется модификатор js_inited
. Как можно поправить? В BEMJSON
явно указал js: true
, но ничего не происходит.
P.S. И не большой вопрос, при создании нового блока, bem-tools создает файл blockName.browser.js
. Что значит browser.js
? Чтобы указать, что в файле клиентский код?
Заранее спасибо!
Возможно, тут не хватает зависимости от
['i-bem__dom']
,Еще, похоже, мы забыли про поддержку bem-tools ;-( https://github.com/bem/bem-forms/tree/master/common.blocks — не вижу .bem папок на уровнях
Завел issue: https://github.com/bem/bem-forms/issues/126
@bradbenetton
Да, т.к. поддерживается еще
node.js
для сервера. Кромеbrowser.js
в сборку клиентского кода попадут также файлы просто сjs
, их следует воспринимать как синонимы.@bradbenetton Кстати, это тоже может быть проблемой и причиной отсутствия инициализации.
enb-diverse-js
подключается??.browser.js
входит в сборку на клиент?А, у вас же
bem-tools
.@zxqfox у меня такая же проблеам возникла, использую bem-forms#v1.0.0 , enb, bemdom в зависимости добавил, а inited не ставится(
Нужен еще кусок bemjson с формой.
js: true есть?
https://github.com/bem-incubator/bem-forms/blob/v1.0.0/common.blocks/form/form.bemhtml#L5 да и в bemjson есть, на всех формах, даже которые я не переоредлял нет js_inited.
Я понял, это наверное из-за линивой иницилазции :)
А, точно. ;-)
Примеры доопределения есть тут https://github.com/bem-incubator/bem-forms/tree/v1.0.0/example.blocks , а вот bem-tools починим да)