Задать вопрос
Veneomin
@Veneomin

Как удалить все из $el в Backbone View?

Есть вьюха,а там, колекция элементов. Делаю view.remove(), DOM обновляться там все пропадает, а вот когда смотрю в view.$el то там элементы остаются. Как их оттуда удалить?
  • Вопрос задан
  • 270 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 3
@malroc
view.$el.empty()

Но вообще не очень понятно зачем вам это. Если view после этого нигде не используете и не храните на него ссылок, то сборщик мусора всё потом почистит. Если используете, то при перерисовке содержание $el обновится, а старое опять же уйдёт сборщику мусора.
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Делаю view.remove(), DOM обновляться там все пропадает, а вот когда смотрю в view.$el то там элементы остаются

Не должно такого быть.
Ответ написан
Комментировать
k12th
@k12th
console.log(`You're pulling my leg, right?`);
View#remove удаляет элемент из DOM-дерева и отключает обработчики событий. В принципе, об остальном должен позаботиться сборщик мусора. Если вам этого недостаточно, можно сделать
view.$el.html('');

Можно пойти дальше и сделать
delete view.$el; 
delete view.el;

Только тогда надо не забыть удалить и все ссылки на эту view.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы