0

是的,我知道有一个名为Backbone-Relational的插件,但我对它的 fetchRelated 函数有一个严重的问题,在我看来,它对我来说毫无用处。

所以我想知道是否有任何替代方案?或者我们甚至需要像 Backbone-Relational 这样的插件吗?您将如何使用纯 Backbone 处理以下场景:

假设我们有两个 Backbone 模型:CompanyPerson. 一个 Company 实例可以有多个 Person。因此company.get('employees')将返回一组人员 ID。如果我想获取相关员工的详细信息,我将不得不遍历数组和fetch()服务器中的每个 Persons。但是如果这些 Person 实例已经下载了怎么办?有没有一种干净的方法来确保没有冗余?

也许我们可以为每个模型维护一个 Collection 并将我们下载的每个实例转储到其中。然后我们只能在集合中不存在实例时下载它。但我认为它会让代码看起来很糟糕。

所以请各位大侠分享一下经验。谢谢!

4

1 回答 1

0

正如你所建议的,我会给我的公司模型一个 Persons 属性。但是您似乎忘记了集合也有一个fetch方法(以及许多其他您会发现非常有用的方法,例如 get 方法)。

另外,作为最后一件事,我想引用 Backbone 的文档(关于 Collections 的 fetch 方法):
请注意,在页面加载时不应该使用 fetch 来填充集合——加载时需要的所有模型都应该已经被引导入放置。fetch 用于延迟加载不需要立即需要的接口的模型:例如,带有可以打开和关闭的注释集合的文档

于 2013-04-04T09:05:11.373 回答