我正在使用 Marionette 构建仪表板构建器和视图界面。我从遗留代码中获得了一些非常重量级的视图(大型报告),因此 html 是在服务器上预先构建的。
我为仪表板中的每一行都有一个 Marionette CollectionView,其中包含在仪表板构建期间拖到行上的每个小部件的 ItemView。
当用户将小部件从一行移动到另一行时,我想避免删除视图并不得不重建它(因为这将是很多不必要的 dom 操作),而是只想将元素从一个(行)CollectionView 和将其添加到另一个。在 Marionette 中使用 CollectionViews 完成此操作的最佳实践是什么?
默认情况下,跨 CollectionViews 移动项目似乎会破坏其中一个视图/模型并在另一个中重新实例化/重新渲染它。
我担心的是 DOM 中的 tablereport 将从一个集合移动到另一个集合不是原始 Marionette/Backbone 模板生成的视图,它只是我们设置为视图 el 的预定义 DOM 元素。
tablereport DOM 元素有许多子元素,这些子元素通过遗留代码而不是 Backbone 视图事件数组或通过 Backbone 的 listenTo 调用与其关联的事件。所以销毁 DOM tablereport 元素是我们需要避免保存这些事件,我们只想在 DOM 中重新定位它。
在 Marionette 中有效处理此功能的最佳方式是什么?