-
Notifications
You must be signed in to change notification settings - Fork 6
Getting started
DimitryDushkin edited this page Sep 26, 2014
·
4 revisions
BEMPRIV.decl(blockName, {
// Код, выполняемый при создании экземпляра блока
init: function() {
// Значение параметра переданного при создании блока
this.params.someParam;
// Вызов метода родительского блока
this.__base();
// Доступ к data, переданного при создании экземпляра блока
this.data;
}
}, {
// Статический метод, доступный без создания экземпляра блока
staticMethod1: function() {
return true;
}
});
// Создание блока и сразу вызов его функции getBEMJSON
BEMPRIV.json(blockName, [data], [params]);
// Создание блока
var blocks = BEMPRIV.create(blockName, [data], [params]);
blocks.bemjson();
// Eсли почему-то блок в статическом методе возвращает BEMJSON
BEMPRIV.getBlock(blockName).getSomeThing();
BEMPRIV.decl('blockName', {
init: function() {
this.setMod('type', 'search');
this.content().push(BEMPRIV.json(someOtherBlock, this.data));
}
});
BEMPRIV.decl({ block: 'blockName', modName: 'type', modVal: 'someType1' }, {...});
BEMPRIV.decl({ block: 'blockName', modName: 'type', modVal: 'someType2' }, {...});
BEMPRIV.decl({ block: 'blockName', modName: 'mode', modVal: 'someMode' }, {...});
var newBlock = BEMPRIV.create('blockName', null, {
mods: {
type: 'someType1',
mode: 'someMode'
}
});