我想不出从服务器获取模型集合到我的 Backbone 集合中的正确方法,假设我不想要数据库中的所有模型,而是一组模型(由特定过滤模型属性)。
我能想到的唯一方法是覆盖 Fetch 并使用函数的“选项”参数将过滤器定义传递到我的 Backbone.Sync 函数。
有没有更好的办法?
最佳答案
3种最常用的集合设置方式, 是
在页面中引导模型,然后使用
Collection.reset();
加载它们// you can print this trough serverside in your view, (you are bootstrapping these models) var bsModels = [{'name': 'name1'},{'name': 'name3'},{'name': 'name2'}]; // in your code you can use that bootstrapped data via the reset method. var myModel = Backbone.Model.extend({}); var myCollection = Backbone.Collection.extend({ model: myModel }); myCollection.reset(bsModels);
您可以使用 fetch,但它会加载所有方法,除非您覆盖 fetch 方法
第三种选择是编写您自己的 ajax 调用,获取正确数量的模型,并使用与 #1 中相同的技术,使用
Collection.reset(data);
关于javascript - 如何使用 Backbone.js 从服务器获取模型集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8230198/