Size: a a a

2019 December 12

AY

Alexey Yarrr (qfox) in БЭМ
cup of tea ☕️
Есть блоки input и control. input по структуре содержит элемент control, который примиксовывается одноименным блоком в технологии bemhtml: block('input').elem('control')({ mix: { block: 'control' }}). Но, я так понимаю, этого недостаточно, чтобы элемент наследовал и расширял логику базового блока control.
В случае микса они будут работать параллельно и независимо, пока не свяжешь их событиями самостоятельно

Только bemhtml микса не будет применен автоматически
источник

co

cup of tea ☕️ in БЭМ
Вроде понял.
Другой вопрос. Допустим, у блока control повешаны триггеры на добавление модификатора control_hovered, control_pressed и control_focused по соответствующим событиям. И есть блок link. Нужно чтобы срабатывали те же триггеры на добавление тех же модификаторов но еще и нашему  блоку link (или только нашему, а блоку control - нет) link_hovered, link_pressed и link_focused. Без дублирования кода это же реально?
источник

AY

Alexey Yarrr (qfox) in БЭМ
cup of tea ☕️
Вроде понял.
Другой вопрос. Допустим, у блока control повешаны триггеры на добавление модификатора control_hovered, control_pressed и control_focused по соответствующим событиям. И есть блок link. Нужно чтобы срабатывали те же триггеры на добавление тех же модификаторов но еще и нашему  блоку link (или только нашему, а блоку control - нет) link_hovered, link_pressed и link_focused. Без дублирования кода это же реально?
Если не считать подписки на события дублями кода — да. В коде компонента (button, link, etc) подписываешься на события control и делаешь что нужно. Внутри control описываешь когда отправлять эти события и подписываешься на DOM-события
источник

co

cup of tea ☕️ in БЭМ
А, ну да, логично
источник

co

cup of tea ☕️ in БЭМ
Чот сразу не сообразил
источник

AY

Alexey Yarrr (qfox) in БЭМ
Хорошо, обращайся)
источник

e

el_anonimo in БЭМ
Приветствую.
Ищу обучающие вёрстке видео и другие ресурсы без Bootstrap. Glo Academy в серии "Марафон Верстки" использует его для grid'a. Хотелось бы видеть решения grid'ов на flexbox.
С английским хорошо.
Или делать grid страницы на flexbox не есть правильно?
источник

Y

Yaros in БЭМ
el_anonimo
Приветствую.
Ищу обучающие вёрстке видео и другие ресурсы без Bootstrap. Glo Academy в серии "Марафон Верстки" использует его для grid'a. Хотелось бы видеть решения grid'ов на flexbox.
С английским хорошо.
Или делать grid страницы на flexbox не есть правильно?
Единственный минус про который знаю остутствие поддержки ie11 и поисковые роботы их не воспринимаю
источник

e

el_anonimo in БЭМ
Спасибо. Хочется также найти пример проекта с layout на flexbox и следуя за видео, выполнить его.
источник
2019 December 13

e

el_anonimo in БЭМ
el_anonimo
Приветствую.
Ищу обучающие вёрстке видео и другие ресурсы без Bootstrap. Glo Academy в серии "Марафон Верстки" использует его для grid'a. Хотелось бы видеть решения grid'ов на flexbox.
С английским хорошо.
Или делать grid страницы на flexbox не есть правильно?
Если ответивший понял меня правильно, то по ссылке ниже сетка / grid / layout проекта сделаны без Bootstrap.
https://t.me/css_ru/221177
(https://youtu.be/3AP7opexzSs)
источник

co

cup of tea ☕️ in БЭМ
А это нормально, что когда я декларирую элемент через declElem('dropdown', 'button', { ... }), и когда внутри по ивентам меняю мод this.setMod('hovered', true), то он приписывает класс  button_hovered вместо ожидаемого dropdown__button_hovered?
источник

SB

Sergey Berezhnoy in БЭМ
cup of tea ☕️
А это нормально, что когда я декларирую элемент через declElem('dropdown', 'button', { ... }), и когда внутри по ивентам меняю мод this.setMod('hovered', true), то он приписывает класс  button_hovered вместо ожидаемого dropdown__button_hovered?
а точно в том месте this не на блок указывает?
источник

co

cup of tea ☕️ in БЭМ
Я даже больше скажу, у меня на элементе оказывается вместо dropdown__option_js_inited оказывается просто option_js_inited
источник

co

cup of tea ☕️ in БЭМ
так, ясно, что-то с цепочкой наследования нахимичил. ща разберусь
источник

co

cup of tea ☕️ in БЭМ
ага, когда я пытаюсь наследовать функциональность другого блока моим элементом, то почему то такая лажа происходит
источник

co

cup of tea ☕️ in БЭМ
Выходит элемент не может наследовать функциональность блока? Он тогда сам блоком пытается быть, исходя из такого поведения при инициализации
источник

SB

Sergey Berezhnoy in БЭМ
cup of tea ☕️
Выходит элемент не может наследовать функциональность блока? Он тогда сам блоком пытается быть, исходя из такого поведения при инициализации
чтобы отнаследовать элемент от блока это нужно явно прописать в аргумент для родительского класса https://ru.bem.info/technologies/classic/i-bem/declaration/#%D0%BD%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
источник

co

cup of tea ☕️ in БЭМ
ну я так и делаю
источник

co

cup of tea ☕️ in БЭМ
Просто в моем случае элемент блока dropdown пытается унаследовать блок control, а в примере на бем.инфо в принципе такого случая не приведено. Там есть примеры когда блок унаследует другой блок и элемент блока унаследует другой элемент того же блока, но нет примера моего случая, когда элемент одного блока унаследует другой блок
источник

SB

Sergey Berezhnoy in БЭМ
cup of tea ☕️
ну я так и делаю
хм... а можешь ишью завести с минимальным воспроизводящимся кейсом на основе project-stub?
источник