#meteor #spacebars
#метеор #пробелы
Вопрос:
Есть ли какой-либо способ получить перехват, который срабатывает до того, как шаблон будет удален из DOM?
У меня утечка памяти из-за невозможности уничтожить мои mCustomScrollbars до уничтожения элементов DOM.
Комментарии:
1. Почему вы не можете уничтожить его при обратном вызове destroy? Прикрепите ссылку на ваш
mCustomScrollbars
экземпляр шаблона, а в обратном вызове destroy вы можете использоватьthis
для ссылки на ваш экземпляр шаблона.2. Я делал это, но оказывается, что $(селектор). mCustomScrollbar(«уничтожить») работает только тогда, когда элемент все еще находится в DOM. Если вы попытаетесь использовать его на селекторе, который уже удален, это приведет к утечке памяти. Я опубликовал кое-что об этом на github (прокрутите вниз, чтобы увидеть утечку памяти).
3. Извините, это было не то, что я имел в виду. В созданном обратном вызове сделайте что-то вроде
this.mCustomScrollbars = something-that-gives-you-a-reference-to-what-you-need
, а в уничтоженном обратном вызове используйтеthis.mCustomScrollbars
для очистки. Но решение Джереми С. может быть лучше.4. О, вау, да, это просто, я должен был просто это сделать…
Ответ №1:
Прямо сейчас нет.
Но это вводится в 0.8.2, который должен быть выпущен в любой день. Посмотрите в примечаниях к выпуску для этого> здесь < и там есть перехваты для insertElement
, removeElement
и moveElement
в разделе «Blaze».
Также похоже, что терминология может меняться до версии 1.0.
Комментарии:
1. Спасибо, Джереми! Я просто подожду пару дней до релиза … 0.8.2 — это также обновление, которое сделает тривиальным выполнение анимации DOM, а также правильно?
2. Это его основная цель (в отличие от устранения утечек памяти, что может быть ценным побочным эффектом). Надеюсь, некоторые документы и примеры также будут включены.