Как грамотно объединить HTML скелет с JS классом в один интерактивный объект который можно динамически загружать/удалять?
Сейчас оно уже работает но подозреваю что это можно реализовать как то грамотнее.
На сервер загружается JS файл с кучей классов (каждый класс написан для определенного HTML скелета (какой нибудь виджет - график, калькулятор, чат...)).
Затем динамически в document страницы добавляется HTML скелет с уникальным ID и через script создаю экземпляр класса который привязываю к загруженному HTML скелету. (Если скелет можно собрать то он собирается конструктором класса... но иногда данные приходят уже с сервера и необходимо работать с готовым скелетом).
Если удалить скелет или вместо него подгрузить другой, экземпляр объекта класса скелета у которого пропал скелет удаляется.
Мне не нравится как сейчас работает самоликвидация экземпляра объекта... а точнее проверка на отсутствие скелета.
Сейчас самоликвидация запускается если возникает ошибка обращения к скелету + таймер-пустышка который получает скелет (на случай если JS объект ждет событий от элемента скелета которого уже нет)
может проще использовать WebComponents?
Я бы сделал единую фабрику виджетов, которая бы следила и за созданием и за удалением как скелетов, так и классов. Но вообще трудно сказать, из объяснения не совсем понятно, как это реализовано. Было бы хорошо взглянуть на образец кода. А вообще подумайте, кто у вас главный, склет или класс. Мне кажется логичнее было бы, чтобы класс сам заведовал созданием и удалением своего макета. А удаление реализовывать через удаление класса, а не макета.