2013-02-21 2 views
1

Я хочу использовать jsViews в виджетах, которые могут быть добавлены/удалены из DOM несколько раз.Как уничтожить/очистить jsviews?

Если виджет запускает код, как это во время создания:

if(!$.link.widgetTemplate) 
{ 
    $.templates({ widgetTemplate: "#widgetTemplateSrc" }); 
} 

$.link.widgetTemplate("#myElement", someData); 

Would $("#myElement").remove(); вызвать утечку памяти или будет jsViews получить правильно утилизировать?

Как вы разгружать jsviews, если вы не хотите удалять #myElement из DOM?

ответ

1

Да, удаление элементов с использованием методов jQuery, таких как .remove(), .empty(), .html() приведет к удалению в JsViews и не должно привести к утечкам памяти.

+0

Спасибо Борис. Я удивлен, что он может быть использован даже при использовании '.html()' – CHS

+0

Да, вызов html («некоторая разметка») заменит содержимое и вызовет код очистки jQuery и JsViews для предыдущего содержимого. – BorisMoore

Смежные вопросы