Есть компонент со сложной js логикой, который может встраиваться на страницу посредством ajax, необходимо инициализировать обработчики и т.д., первое, что приходит в голову написать что-то такое:
class ShopSection {
constructor(id) {
this.elem = document.getElementById(id);
...
}
initMap() {
...
}
}
Но тут вопрос, как из этого скрипта получить ссылку(id или class) на наш компонент(общую обертку div например), чтобы несколько компонентов на странице работали корректно и не мешали друг другу ?
Можно ли сгенерировать уникальный id компонента, который можно просто передать:
<div id="<?php echo %UNIQUE_ID% ?>">
...
</div>
<script>
new ShopSection(<?php echo %UNIQUE_ID% ?>);
</script>
Или же это плохая идея ? Как вы действуете в таких ситуациях и в каком стиле пишите свой js под Битрикс ?