someserj
@someserj

Что насчет JS и префиксов в БЭМ (BEM)?

видел где-то, что существуют какие-то префиксы для классов типа js-classname, но в оф. документации не нашел такого.
так что все-таки прописывать элементам, префиксы к классам или id? чтоб обращатья к ним в js
  • Вопрос задан
  • 1022 просмотра
Пригласить эксперта
Ответы на вопрос 3
@ilyarsoftware
Из истории развития БЭМ https://ru.bem.info/methodology/history/
2005 год... Классам блоков мы добавили префиксы (b-, c-, g-), чтобы отличать их от внутренних классов...

Настоящие
Исторически они появились в переходный период для того, чтобы отличать новый код, написаный по БЭМ, от старого. Со временем мы от них отказались.
https://ru.bem.info/forum/158/ и https://ru.bem.info/forum/806/

Соглашение по именованию/Имя блока:
Иногда к именам блоков могут добавляться различные префиксы.




Пример: https://codepen.io/ilyar/pen/WZzzmP?editors=1010#0

<div class="myBlock i-bem" data-bem='{"myBlock":{"param": "val"}}'>
    ...
</div>

modules.define('myBlock', ['i-bem-dom'], function (provide, bemDom) {

    provide(bemDom.declBlock(this.name, /* методы экземпляра */ {

            onSetMod: {
                'js': {
                    'inited': function () {
                        this.domElem[0].innerHTML = this.__self.parseParams(this.params);
                    }
                }
            }

        }, /* статические методы */ {

            parseParams: function (params) {
                return '<pre>' + JSON.stringify(params, null, ' ') + '</pre>';
            }

        }
    ));

});


Еще есть реализация БЭМ + React.js https://github.com/bem/bem-react-core, пример https://scrimba.com/c/cQR4bTr и теория https://www.youtube.com/playlist?list=PLAmtJdts5To...
Ответ написан
@igumenov
Обычно через классы js-class_name
Ответ написан
sim3x
@sim3x
id не используются
js-do_shit позволяет понять, что где-то в жс есть функция, которая привязана к данному классу и она делает shit
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы