Я работаю над приложением Backbone, которое использует много видов. Я попал в ловушку (обычно я думаю) о создании экземпляра Router (своего рода главного контроллера), который отвечает за очистку представлений, создание новых экземпляров и заполнение их данными. Я говорю, что ловушка, потому что, хотя JavaScript имеет встроенный сборщик мусора, можно быстро начать замечать, как удобство использования приложения затрудняется множеством неиспользуемых представлений, которые все еще находятся где-то в памяти.Утилизация в Backbone.JS
Мне жаль, что не было способа утилизировать эти виды. Я думал, что это будет так же просто, как вызвать initialize() в представлении с новой моделью, а затем повторить. Это, к сожалению, не так просто.
Кроме того, нужно было бы своего рода «уничтожить» вид ручки, например, обработчики событий и прочее ...
Что бы хорошая практика, чтобы сделать это?
Что относительно инициализации? Должен ли я специально вызвать функцию «конструктор» для повторной инициализации? Просто вызов «initialize» не будет выполнять задание – preslavrachev
Вы никогда не называете 'initialize' непосредственно на представлениях в магистрали. Если ваше имитирующее наследование в другом методе 'initialize'. Представление будет уже инициализировано при кэшировании. Вызов 'new View' запускает метод init. – Trevor
Единственное реальное преимущество использования кешированного представления - производительность. При каждом запуске маршрута вам не придется переустанавливать представление. – Trevor