Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Backbone.js:我应该如何处理两个独立UI区域中的单个集合?_Jquery_Backbone.js - Fatal编程技术网

Jquery Backbone.js:我应该如何处理两个独立UI区域中的单个集合?

Jquery Backbone.js:我应该如何处理两个独立UI区域中的单个集合?,jquery,backbone.js,Jquery,Backbone.js,我希望有人能帮我提一个backbone.js问题。我已经完成了大部分工作,但我对架构的各个方面感到困惑 我得到了一组填充“表”的结果(它实际上是一个无序的列表,以便更容易地进行DOM操作和更可靠的渲染);结果可以通过一些滑块和复选框进行过滤。我已经决定,过滤只会隐藏一些“行”,而不是重新绘制整个“表” 因此,有了主干,这是一个模型的集合——到目前为止,所有模型都很好,运行良好 我想做的是允许人们选择(通过复选框)表格(实际上是LIs)中的单个“行”,并让他们自己移动到页面顶部的短名单区域。通过在

我希望有人能帮我提一个backbone.js问题。我已经完成了大部分工作,但我对架构的各个方面感到困惑

我得到了一组填充“表”的结果(它实际上是一个无序的列表,以便更容易地进行DOM操作和更可靠的渲染);结果可以通过一些滑块和复选框进行过滤。我已经决定,过滤只会隐藏一些“行”,而不是重新绘制整个“表”

因此,有了主干,这是一个模型的集合——到目前为止,所有模型都很好,运行良好

我想做的是允许人们选择(通过复选框)表格(实际上是LIs)中的单个“行”,并让他们自己移动到页面顶部的短名单区域。通过在主“表”中使用jQuery.slideOut,然后在主“表”上方单独的UL中使用.slideIn对LI的.clone进行操作,我在视觉上实现了这一点。从用户体验的角度来看,这一切都很好

但是,我认为克隆“行”是错误的,因为克隆不再是主干模型,如果用户希望通过取消选中它将其从候选列表中删除,那么它必须返回到“表”中;此时,我不知道如何告诉所讨论的模型取消隐藏自己,因为我不知道当我只有作为jQuery对象的LI时如何调用模型

无论如何,这感觉不对。我不应该在顶部UL中显示该系列的选定型号,而在底部UL中显示未选定型号吗?我该怎么做呢?或者我需要两个集合,然后将模型从一个集合移动到另一个集合

我觉得我错过了一些明显的东西,希望能得到一些帮助!提前感谢您的反馈


qryss

我认为您可以制作两个系列:

  • 一个用于包含所有模型的表(例如tableCollection),以及
  • 一个用于表格中仅填充选定模型的选定行(例如selectedCollection)
因此,在表视图中应该有两个触发器:

  • 在所选行上:将所选模型添加到所选集合中
  • 在选定行上:从选定集合中删除选定模型

现在,当您在主集合(tableCollection)中销毁一个模型时,该模型也会从您选择的集合(如果存在)中删除。

视图引用了DOM元素,那么为什么您不能移动该元素呢

比如:

if (e.currentTarget.checked) {

$(this.el).appentTo('#ul1');
} else {
  $(this.el).appendTo('#ul2');
}

我用了这个,它对我很好。谢谢你的建议。显然,没有单一的方法来做这些事情,但对我来说,这似乎是一种更符合逻辑的方法——它更好地映射到现实。谢谢,drinchev。这也会很好,但我觉得它不太符合现实,因此,当人们在未来使用此代码时,要维护它会有点困难。不过,谢谢。好的,如果你想让逻辑更加独立,你也可以将ul元素的引用传递给你的集合或每个模型的视图。