UNPKG

direct-dev

Version:
56 lines (43 loc) 2.41 kB
# dev-sandbox Инфраструктура песочницы. Песочница - это страница для независимой разработки блока. Чтобы добавить блок на страницу песочницы, реализуйте его в технологии `sandbox.js`. Пример: ```js module.exports = { /** * Любая нужная информация для размещения блока в песочнице */ bemjson: { block: 'b1', data: { name: 'John', surname: 'Doe' } }, /** * Действия, которые нужно выполнить в начале * @param {Object} container - DOM-элемент контейнера для размещения блоков песочницы */ init: function(container) { container.innerHTML += BEMHTML.apply(this.bemjson); } }; ``` В методе `init` вы можете выполнить любые нужные действия, например, добавить блок на страницу и вызвать его методы. Вы можете обращаться к нужным полям чреез контекст вызова функции. Например, вы можете обратиться к полю `bemjson` через `this.bemjson`. Если для многих блоков нужно выполнять инициализацию одинаковым образом, вы можете на своем уровне доопределить блок `dev-sandbox` и добавить собственную инициализацию. ```js /** * Общая инициализация для всех блоков * @param {Object} obj - Объект, экспортируемый из .sandbox.js файла блока * @param {Object} container - DOM-элемент контейнера для размещения блоков песочницы */ SANDBOX.addInitializer(function(obj, container){ container.innerHTML += BEMHTML.apply(obj.bemjson); }); ``` Если доопределить функцию инициализации несколько раз, все указанные действия будут выполнены в порядке, обратном порядку доопределения.