Для воплощения самых неожиданных фантазий понадобилось уметь пробросить собственные атрибуты (не произвольные, определённый перечень) элементу __control компонентов из bem-components.
Как наиболее канонично это сделать?
В принципе, через свой уровень переопределения с прокачкой списка атрибутов из applyNext() оно работает. И вроде даже ничего ломать не должно.
Но есть ли возможность провернуть то же самое, используя обёртку?
Создать, например, блок my-input, который внутри себя использует блок input из bem-components.
И чтобы в тег input, который input__control, можно было пробросить некоторый атрибут my-attr.
@gwer Можно, например, так:
Выглядит как то, что надо, спасибо. Вот только я попробовал и немножко поплохело.
Сначала посыпались эксепшоны про неумение в стрелочные функции с отсылками к esprima (запускается под Node.js 6.9). Когда переписал на старые функции, оно отказалось работать с аргументами.
То есть внутри
function(node) {}nodeотдаётundefined, при этом вargumentsвсё хорошо (для проверки примера заменил всеnodeнаarguments[0]иctxнаarguments[1], и всё завелось).Это последствия использования generator-bem-stub или такое встречается на каждом шагу?
Ой-ей-ей, если еще не слишком поздно, стоит срочно съехать с
generator-bem-stubна https://github.com/bem/project-stub/ или https://github.com/bem/bem-express/ Генератор устарел чуть более, чем полностью :(Окау, попробую.