带有GoAngular的可排序列表

时间:2014-03-27 19:19:50

标签: javascript angularjs jquery-ui-sortable goinstant goangular

所以我正在创建一个人们可以在任务列表上一起工作的项目。我目前的同步方法非常糟糕,所以我一直希望转移到GoInstant。当我环顾四周时,我发现了GoAngular,它似乎提供了一种非常甜蜜,直观的方式来将数据和显示绑定在一起。但是我不知道GoAngular是否能够处理多个人同时添加删除和重新排序项目的任务。

您知道如何让GoAngular支持重新排序吗?重要的是,更新必须是增量的,而不是每次都重新创建整个列表的DOM。

1 个答案:

答案 0 :(得分:1)

这实际上取决于列表的大小,您可以采用两种方法(两种方法都不完美),都涉及向GoAngular模型添加position属性(或创建专门用于跟踪位置的模型):< / p>

让我们以此为出发点:

[
 { title: 'Item A', position: 1 },
 { title: 'Item B', position: 2 },
 { title: 'Item C', position: 3 },
 { title: 'Item D', position: 4 },
]

如果列表很小(在数百个项目中),您可以在更改时更新位置,因此如果项目B&#39;在项目C&#39;之后被移动,您将更新项目B&amp;的位置(使用$set)。 C:

[
 { title: 'Item A', position: 1 },
 { title: 'Item C', position: 2 },
 { title: 'Item B', position: 3 },
 { title: 'Item D', position: 4 },
]

或者你可以在两个位置的中间插入一个项目,这在大型列表中更实用。如果&#39;项目B&#39;在项目C&#39;之后再次移动,您只会更新项目B&#39;的位置。在这个例子中,它将是(3 + 4)/ 2 = 3.5:

[
 { title: 'Item A', position: 1 },
 { title: 'Item C', position: 3 },
 { title: 'Item B', position: 3.5 },
 { title: 'Item D', position: 4 },
]

这有帮助吗?

相关问题