У меня есть система Backbone, состоящая из вложенных вложенных представлений, в которых мне иногда требуется выполнить следующее:
- Отсоединить дочернее представление от DOM
- Повторно отобразитьродительское представление с нуля (из шаблона)
- Повторное присоединение дочернего представления в правильном месте
Я делаю это, вызывая что-то вроде $(parent.el).html(...)
и затем $(parent.el).append(child.el)
Что я всегда видел в этой технике, так это то, что обработчики событий на дочернем объекте теряются.Итак, я попробовал несколько вещей, ни одна из которых до сих пор не работала.
- Сначала отсоедините child.el с помощью
$.detach()
- Клонирование узла child.el и повторное подключениеклон
- Повторный вызов child.delegateEvents () после повторного присоединения
Единственное, что мне подходит, - это полная перестройка дочернего представления с нуля.У кого-нибудь есть какие-либо идеи?Повторное подключение существующего узла будет гораздо более эффективным.
Спасибо!