Backbone没有关于如何构建应用程序的任何明确模式。我现在遇到了一些困难。在下图中,我以视觉和简化的方式描述了我想要得到的东西。
我有一份任务清单。我希望在碰巧具有相同截止日期的任务之后列出截止日期。日期也按时间顺序排列。
我决定采取的一种方法是:
在您看来,这是一个很好的解决问题的方法吗?
保持最新的潜在问题:
答案 0 :(得分:2)
这是解决问题的好方法吗?
是的!:CollectionView - > (n)ModelViews(尽可能深)
如果我更改日期,我希望日期容器重新定位,以便按时间顺序排列(重新获取所有日期集合?)
您始终必须将更改发送到服务器,但您不需要重新获取任何内容,您已经掌握了数据,您只需重新呈现。重新渲染的优化取决于很多细节。
如果我更改任务的截止日期,我希望任务移动到正确的日期容器(删除其视图并重新获取所有任务集合?)
您再次无需索取数据。只需从实际的DateContainer集合中删除已更改的Task,并将其添加到新DateContainer的集合中。使DateContainers响应此add/remove
事件。
如果另一个用户更改了一个任务,我希望它被反映出来(获取相应的东西吗?)
嗯,这是一个非常开放的问题。正如您所说,您可以每X秒重新获取整个数据。或者,您可以在API中实施优化的updated_elements
请求,并在每X秒内请求一次。或者你可以通过WebSockets方式。