2013-02-22 49 views
1

我有一个类似任务的模型(它具有诸如标题,时间,笔记等默认属性)以及类似于任务列表的集合。现在,单个任务可以有多个注释。我有REST api(JSON)来填充模型和集合。我需要列出所有任务(这很容易,忽略注释),然后查看任务(包括注释)。骨干| Array in model and manipulation

从这里开始,它似乎在Backbone中实现了像事物一样的嵌套循环。我如何填充我的模型并用所有注释显示任务。我应该涵盖模型,集合,视图和模板。

感谢

回答

0

我在纯RESTFUL实现假设你有模特TaskNote和集合TaskListTaskNotes

最初你只是想从服务器加载的任务,让你去tasklist.fetch()

这将期望所有的任务与服务器同步,但尚未集合中没有任务模型包含任何注释。

当用户选择一个任务时,您将创建一个新的TaskNotes实例,并将其存储在父任务模型中(而不是作为属性,因为所有属性都在保存时由Backbone传递给服务器)并获取该实例。

这应该很容易?


真正的问题是,如果你想要的一切(所有任务,所有的嵌套的注释)加以取出,并在一个单一的呼叫初始化。这有点棘手,因为骨干不处理嵌套的集合/模型。从服务器返回的JSON中的所有属性都被视为普通属性。您需要查看诸如backbone-relational或覆盖Model.parse方法。

说这是罕见的,你想要在一次调用中获取所有东西。这是太多的数据,用户不会一次看到所有的数据。最好是按需做,即用户选择任务,然后提取笔记。

+0

谢谢nEEbz,其实这是我想到的事情,但我无法弄清楚如何实现它。我的意思是我需要两个不同的视图(一个用于笔记,另一个用于其他任务的细节)以及如何组合它们。将它们合并可能不是问题,但用户可以在任务上添加另一个注释。那么我怎么能把新添加的笔记链接到哪个任务的细节。 – 2013-02-26 05:29:43

+0

您需要存储父视图的引用。就像你的'Note'模型如何引用(或id)父'Task'。同样,你的'AddNote'视图也会引用父任务。当用户添加一个笔记时,您将把它添加到父任务中。 – neebz 2013-02-26 07:32:22