我无法弄清楚从服务器到我的Backbone Collection中获取模型集合的正确方法,假设我不想要DB中的所有模型,而是需要一组模型(按特定方式过滤)模型属性)。
我能想出的唯一方法是覆盖Fetch并使用函数的“options”参数将过滤器定义传递给我的Backbone.Sync函数。
有更好的方法吗?
答案 0 :(得分:0)
当然,还有更好的方法!您可以将查询参数传递给fetch()
来电。传递给fetch的所有选项都直接进入$.ajax()
。例如:
myCollection.fetch({
data: {
search: "boo",
limit: "20"
}
}
由于这会变为GET请求,因此会将这些请求附加到查询字符串中,您可以在服务器上解析它们并返回该集合的相应项目。
如果您感觉很花哨,可以为特定类型的集合重新定义fetch()
,以便它始终发布相应的查询参数。