Войти с помощью github
Форум /

Всем привет!

Сегодня мы зарелизили bem-core@v4.0.0-rc.1.

Это релиз-кандидат большого релиза bem-core@v4.0.0, который появится совсем скоро.

Мы сделали достаточно большое количество обратно несовместимых изменений, ради того, чтобы API стало легче понять, запомнить и удобнее использовать.

Уже доступен миграционный гайд и обновлённая документация на i-bem.js. Если вы не используете bem-components, то можно начинать изучать, крутить, вертеть и подключать к своим проектам новую версию bem-core.

Что нового и важного:

  • Значительно упрощено и унифицировано API работы со всеми видами событий:

    this._domEvents().on('click', this._onClick);
    this._events(this.findChildBlock('button')).on('click', this._onButtonClick);
    

    Кроме того, теперь все основные способы использования не требуют самостоятельного удаления подписок при уничтожении экземпляра — отписка происходит автоматически. Подробнее в миграционном гайде.

  • Экземпляры для элементов перенесены в блоки i-bem и i-bem-dom и стали частью ядра. Теперь с элементами работать так же удобно, как с блоками:
this.findChildElem('button').setMod('disabled');

Подробнее в миграционном гайде.

  • Функциональность элемента collection блока i-bem перестала быть опциональной. Все методы, возвращавшие несколько БЭМ-сущностей, теперь возвращают коллекции:

    this.findChildBlocks('control').setMod('disabled');
    

    Подробнее в миграционном гайде.

  • Ленивая инициализация (поле live) разделена на две отдельные части — поле lazyInit и метод onInit(). Более явные названия без смешивания в одном месте двух вещей. Подробнее в миграционном гайде.
  • Удалены и переименованы множество методов — API стало чище и понятнее.

Все подробности о миграции на новую версию читайте в миграционном гайде. А документация на i-bem.js уже содержит полностью обновлённую информацию.

Мы просим вас писать нам любой фидбек о найденных ошибках и проблемах на форум или сразу в тикеты, чтобы мы могли сделать обратно несовместимые исправления до полного релиза bem-core@v4.0.0.

P. S. Релиз-кандидат bem-components с bem-core@v4 внутри будет в ближайшее время. Также мы ещё допишем английскую версию документации, чейнджлог и миграционный гайд.