2gis / slot

JavaScript фреймворк, позволяющий быстро и просто создавать модульные изоморфные приложения.
http://2gis.github.io/slot
BSD 2-Clause "Simplified" License
86 stars 10 forks source link

add morphdom & rework module kill/dispose #240

Closed lastw closed 8 years ago

lastw commented 8 years ago

upd:

  1. Теперь есть метод slot.morph(), который заменяет старый html новым html посредством morphdom;
  2. Теперь у slot.dispose() есть параметр options, который позволяет полностью убить модуль, но оставить его DOM: slot.dispose({keepDOM: true});
  3. Поправил удаление модулей из slot.modules — теперь удаляется только нужный модуль, а не все модули этого типа;
  4. Убрал кеширование модификаторов на дом-нодах
ktoto commented 8 years ago

раньше remveModule делал delete this._moduleDescriptors[moduleId];, теперь killModule этого не делает. Это специально? память течь не начнет?

lastw commented 8 years ago

раньше remveModule делал delete this._moduleDescriptors[moduleId];

это ты хорошо подметил, я ради переноса этого удаления и объединил .kill и .remove (в описании к PR об этом упомянул), и чёт оно потерялось

killModule должен делать всё, что делал dispose, кроме удаления из DOM

lastw commented 8 years ago

Убрал кеширование модификаторов элементов на дом-нодах — с морфдомом ноды остаются на месте, и если меняются классы, кешированные модификаторы не соответствуют реальным