Jquery Backbone.js:我应该如何处理两个独立UI区域中的单个集合?
我希望有人能帮我提一个backbone.js问题。我已经完成了大部分工作,但我对架构的各个方面感到困惑 我得到了一组填充“表”的结果(它实际上是一个无序的列表,以便更容易地进行DOM操作和更可靠的渲染);结果可以通过一些滑块和复选框进行过滤。我已经决定,过滤只会隐藏一些“行”,而不是重新绘制整个“表” 因此,有了主干,这是一个模型的集合——到目前为止,所有模型都很好,运行良好 我想做的是允许人们选择(通过复选框)表格(实际上是LIs)中的单个“行”,并让他们自己移动到页面顶部的短名单区域。通过在主“表”中使用jQuery.slideOut,然后在主“表”上方单独的UL中使用.slideIn对LI的.clone进行操作,我在视觉上实现了这一点。从用户体验的角度来看,这一切都很好 但是,我认为克隆“行”是错误的,因为克隆不再是主干模型,如果用户希望通过取消选中它将其从候选列表中删除,那么它必须返回到“表”中;此时,我不知道如何告诉所讨论的模型取消隐藏自己,因为我不知道当我只有作为jQuery对象的LI时如何调用模型 无论如何,这感觉不对。我不应该在顶部UL中显示该系列的选定型号,而在底部UL中显示未选定型号吗?我该怎么做呢?或者我需要两个集合,然后将模型从一个集合移动到另一个集合 我觉得我错过了一些明显的东西,希望能得到一些帮助!提前感谢您的反馈Jquery Backbone.js:我应该如何处理两个独立UI区域中的单个集合?,jquery,backbone.js,Jquery,Backbone.js,我希望有人能帮我提一个backbone.js问题。我已经完成了大部分工作,但我对架构的各个方面感到困惑 我得到了一组填充“表”的结果(它实际上是一个无序的列表,以便更容易地进行DOM操作和更可靠的渲染);结果可以通过一些滑块和复选框进行过滤。我已经决定,过滤只会隐藏一些“行”,而不是重新绘制整个“表” 因此,有了主干,这是一个模型的集合——到目前为止,所有模型都很好,运行良好 我想做的是允许人们选择(通过复选框)表格(实际上是LIs)中的单个“行”,并让他们自己移动到页面顶部的短名单区域。通过在
qryss我认为您可以制作两个系列:
- 一个用于包含所有模型的表(例如tableCollection),以及
- 一个用于表格中仅填充选定模型的选定行(例如selectedCollection)
- 在所选行上:将所选模型添加到所选集合中
- 在选定行上:从选定集合中删除选定模型
现在,当您在主集合(tableCollection)中销毁一个模型时,该模型也会从您选择的集合(如果存在)中删除。视图引用了DOM元素,那么为什么您不能移动该元素呢 比如:
if (e.currentTarget.checked) {
$(this.el).appentTo('#ul1');
} else {
$(this.el).appendTo('#ul2');
}
我用了这个,它对我很好。谢谢你的建议。显然,没有单一的方法来做这些事情,但对我来说,这似乎是一种更符合逻辑的方法——它更好地映射到现实。谢谢,drinchev。这也会很好,但我觉得它不太符合现实,因此,当人们在未来使用此代码时,要维护它会有点困难。不过,谢谢。好的,如果你想让逻辑更加独立,你也可以将ul元素的引用传递给你的集合或每个模型的视图。