Если представление Backbone View создает новые представления внутри метода render(), должны ли эти представления поддерживаться как члены данных? Типичный метод визуализации выглядит так:
render: function() {
var myView = new MyView({ model: values });
$('div#value', this.el).append(myView.render().el);
}
Этот тип привязки методов рендеринга означает, что вложенный вид действительно создан только так, что он также может связывать любые методы рендеринга и возвращать красиво сконструированный элемент. Представление осталось для сбора мусора, я предполагаю?
Если вложенный вид должен быть изменен... возможно, сильно, должен ли он быть просто (повторно) создан или должен быть изменен через ссылку на данные?
Проблема, с которой я столкнулась, - это вложенные события получения событий, которые требуют от них изменения собственных вложенных представлений и иногда их родительского представления.
Я действительно не хочу, чтобы лучшие начинали бросать слушателей повсюду. И передавая ссылки на родительские представления и вызывается render() из дочернего объекта View, возникает утечка памяти, так как родитель создает новый дочерний вид, в то время как исходный дочерний элемент View поддерживает ссылку на родителя!
Он просто не очень похож на настоящий момент. У кого-нибудь есть какие-то ресурсы, которые помогли бы мне решить эту проблему в кадровой работе?