Всем привет. Начал я знакомится с БЭМ, очень он мне понравился. Решил попробовать его вживую. Склонировал себе project-stub, установил зависимости. Все работает, все круто, все попробовал, кароче все супер. Но тут я дошел до i-bem js, думаю дай попробую написать что-то простенькое на нем. Взял блок:
{
block: 'header',
js: true,
content: [
'header content goes here'
]
}
В папке common.blocks создал как полагается папку header, положил туда header.js И написал туда самое простое что смог придумать:
console.log(1);
modules.define('header', ['i-bem__dom'], function(provide, BEMDOM) {
provide(BEMDOM.decl(this.name, {
onSetMod : {
'js': {
'inited': function () {
console.log('hello');
this.bindTo('click', function(e) {
console.log("Clicked!")
});
}
}
}
}));
});
Единица выводится, а вот hello и уж темболее clicked нет. В чем может быть проблема? Не знаю в какую сторону копать, может какая-то зависимость не установилась или в синтаксисе не разобрался. Не пойму...
М.б., не хватает
в зависимостях?
Да я уже вроде бы как понял в чем проблема. Я подсмотрел в bem-components как там реализованы такие вещи. Как оказалось модуля i-bem__dom зависимостях нет, он теперь он называется "i-bem-dom". Его либо переименовали а на bem.info еще не везде переписали, либо я что-то не так делал и у меня он теперь так называется. Хотя я почитал статью "Быстрый старт по созданию статической страницы" и там он тоже по такому имени в зависимостях вызывается. Зато здесь вот он вызывается по старому названию https://ru.bem.info/platform/tutorials/i-bem/block/
Да, этот туториал действительно опирается на предыдущую версию
bem-core. Обновим, как только дойдут руки.