Closed dekhanov closed 8 years ago
Вот еще пример:
Модуль photoUploader
навешивает обработчик события на drop
и отписывается от него в методе dispose
, но в глупом модуле часто происходят ре-рендеры, но не dispose
, в итоге:
:+1: Лишним не будет
:+1:
https://jira.2gis.ru/browse/ONLINE-9483
Иногда возникает ситуация, когда нужно ручками подписаться на какие-то событие в DOM. Традиционно в слоте это делается в clinetInit(), а отписка происходит в dispose(); С dumb-модулями есть проблема. Возникла ситуация, когда нужно подписываться на события DOM ноды не всегда, а по условию, зависящему от стейта. Удобнее всего это делать в методе bind(), который срабатывает на каждый ре-рендер глупого модуля. Использовать dispose() для снятия подписки на событие в таком случае не получается, потому что он не вызывается, поэтому нужен хук в конфиге модуля, по которому можно чистить все подписки перед каждым обновлением глупого модуля.
Пример использования: