Template.beforeDestroy зацепить пробелы /Метеор

#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. Это его основная цель (в отличие от устранения утечек памяти, что может быть ценным побочным эффектом). Надеюсь, некоторые документы и примеры также будут включены.