раньше было так:
this.block = this.findBlockInside('block');
в bem4 приходится делать так:
this.block = this.findChildBlock(bemDom.declBlock('block', {}));
Можно ли сделать так же просто, как было раньше?
раньше было так:
this.block = this.findBlockInside('block');
в bem4 приходится делать так:
this.block = this.findChildBlock(bemDom.declBlock('block', {}));
Можно ли сделать так же просто, как было раньше?
Переход на использование классов вместо строк был сделано сознательно. Это позволяет находить опечатки средствами языка и полнее использовать фичи IDE. Предполагается, что как только возникает необходимость найти блок через JS, он перестает быть блоком без JS.
На практике бывает нужно пощёлкать модификаторами некого блока. Собственная JS реализация при этом ему нужна далеко не всегда. Так у меня на проектах стали появляться блоки с "пустышками" в качестве JS реализации:
это несколько безопаснее, чем
но как-то тоже не круто