Что делаю не правильно?
modules.define('navigation', ['i-bem__dom'], function (provide, BEMDOM)
{
provide(BEMDOM.decl({block: this.name}, {
onSetMod: {
'js': function ()
{
console.log("navigation активен")
}
}
}, {
live: function ()
{
this
.liveBindTo('click', function ()
{
var wrapper = this.findBlockOutside({ blockName : 'wrapper'});
if (this.hasMod("open")) {
this.delMod("open");
wrapper.delMod("compress");
} else {
this.setMod("open", "true");
wrapper.setMod("compress", "true");
}
});
}
}));
});
modules.define('wrapper', ['i-bem__dom'], function (provide, BEMDOM)
{
provide(BEMDOM.decl({block: this.name}, {
onSetMod: {
'js': function ()
{
console.log("wrapper активен")
}
}
}, {
live: false
}));
});
this.findBlockOutside({blockName: 'wrapper'})
возвращает null
findBlockOutside принимает либо строку, либо jQuery-объект, см.: http://ru.bem.info/libs/bem-core/v2.3.0/desktop/i-bem/jsdoc/#findblockoutside-elem-block-bemdom-
Сделал ветку
findBlockOutside
вproject-stub
именно с этим кодом: https://github.com/bem/project-stub/tree/findBlockOutsideожидаемо выводит объект
wrapper
-а, варианты сfindBlockInside
иfindBlockOn
, как и должны, выводят null.