javascript - 如何使用 Backbone.js 从服务器获取模型集合?

标签 javascript backbone.js

我想不出从服务器获取模型集合到我的 Backbone 集合中的正确方法,假设我不想要数据库中的所有模型,而是一组模型(由特定过滤模型属性)。

我能想到的唯一方法是覆盖 Fetch 并使用函数的“选项”参数将过滤器定义传递到我的 Backbone.Sync 函数。

有没有更好的办法?

最佳答案

3种最常用的集合设置方式, 是

  1. 在页面中引导模型,然后使用 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);
    
  2. 您可以使用 fetch,但它会加载所有方法,除非您覆盖 fetch 方法

  3. 第三种选择是编写您自己的 ajax 调用,获取正确数量的模型,并使用与 #1 中相同的技术,使用 Collection.reset(data);

关于javascript - 如何使用 Backbone.js 从服务器获取模型集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8230198/

相关文章:

javascript - 修改li :after from content script

javascript - 从元素数组中查找哪个元素具有特定类的更好方法

javascript - Backbone : Uncaught TypeError: undefined is not a function

javascript - 无法让 Masonry 与 RequireJS 一起使用

django - 单页应用还是多页应用?

javascript - 如何使用 AngularJS $resource.query 传递参数?

javascript - 一个按钮可以做不同的事情吗?

javascript - 鉴于主干js,单击按钮不起作用

javascript - 它使用 Coffeescript 调用生成的 javascript

javascript - jquery ajax unhide div 如果变量等于