首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GoAngular的可排序列表

使用GoAngular的可排序列表
EN

Stack Overflow用户
提问于 2014-03-27 19:19:49
回答 1查看 85关注 0票数 1

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-02 13:48:51

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

让我们把这作为我们的出发点:

代码语言:javascript
复制
[
 { title: 'Item A', position: 1 },
 { title: 'Item B', position: 2 },
 { title: 'Item C', position: 3 },
 { title: 'Item D', position: 4 },
]

如果列表很小(在数百个项中),您可以在它们更改时更新位置,因此,如果“项B”在“项C”之后移动,则将更新B&C项的位置(使用$set):

代码语言:javascript
复制
[
 { title: 'Item A', position: 1 },
 { title: 'Item C', position: 2 },
 { title: 'Item B', position: 3 },
 { title: 'Item D', position: 4 },
]

或者,您可以在两个位置中间插入一个项目,这在大列表中更实用。如果“项目B”在“项目C”之后再次移动,则只更新“项目B”的位置。在本例中,为(3+4) /2= 3.5:

代码语言:javascript
复制
[
 { title: 'Item A', position: 1 },
 { title: 'Item C', position: 3 },
 { title: 'Item B', position: 3.5 },
 { title: 'Item D', position: 4 },
]

这有用吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22697187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档