Open belozer opened 6 years ago
CodePen
modules.require([ 'jquery', 'i-bem-dom', 'BEMHTML', 'button' ], ($, bemDom, BEMHTML, Button) => { const html = BEMHTML.apply([ { block : 'test', js : true }, { block : 'button', text : 'click me' } ]); const Root = bemDom.declBlock('root'); bemDom.declBlock('test', { onSetMod : { js : { inited : function() { console.log('Test inited'); const btn = this.findParentBlock(Root).findChildBlock(Button); this._events(btn).on('click', this._onButtonClick, this); } } }, _onButtonClick : function() { console.log('On button click from _events'); }, }, { lazyInit : false }); bemDom.append($('.root'), html); setTimeout(() => { bemDom.destruct($('.test')); console.log('Test destructed'); }, 500); });
После destuct блока кликаем на кнопку и получаем в консоль: On button click from _events
On button click from _events
upd возможно проблема смежная с https://github.com/bem/bem-core/issues/1525
upd Проблему вроде починил. Осталось разобраться в причине и прислать PR
CodePen
После destuct блока кликаем на кнопку и получаем в консоль:
On button click from _events
upd возможно проблема смежная с https://github.com/bem/bem-core/issues/1525
upd Проблему вроде починил. Осталось разобраться в причине и прислать PR