Я все еще смущен этим. Общая парадигма Я вижу всплывать это ...
view.render()
С рендер установлен
function() { this.$el.html(this.template()) }
Как это поведение сетки с Вытащите? Это отображает представление .. но тогда логически вы вызовете .remove()
, чтобы развязать события и вытолкнуть их. Если вы используете это, вы отбросили родительский контейнер ($ el) и не сможете повторно отобразить. Документы должны быть явными, тогда соглашение должно состоять не в this.$el.html(this.template())
, а в том, чтобы отобразить шаблон, вызвав .html()
на некотором не-el родительском элементе. Вы можете либо вызвать .render(), используя представления own $ el, а также использовать .remove()
.
Как эти два человека работают вместе?
Также посмотрите на [backbone.marionette] (http://marionettejs.com/), у которого есть много вещей из коробки для вас и вашей проблемы. Он управляет такими вещами, как удаление элементов/разворачивание событий/перерисовка/.... Если вы вынуждены использовать только магистраль, вы можете увидеть, какой подход они используют для вашей проблемы. –