Backbone.js 如何触发fetch方法以及如何设置url

Backbone.js 如何触发fetch方法以及如何设置url,backbone.js,Backbone.js,我正在根据@20100对这个问题的回答重新设计我的主干应用程序 请阅读代码上的注释,因为我认为它更清晰,而且我的问题在较小的尺寸下看起来更好 你想探索两条路 使用模型数据预先填充集合 在您的示例中,您已经这样做了,但是您正在获取一个集合,集合URL是http://localhost/movies,如果您想要一个单独的模型,请查看下一点 仅在需要时提取每个模型 假设您试图在一个未预填充的集合上获取ID,并且一次加载一个模型,那么您必须以一种自定义的方式来实现这一点,向集合中添加一个与此类似的

我正在根据@20100对这个问题的回答重新设计我的主干应用程序

请阅读代码上的注释,因为我认为它更清晰,而且我的问题在较小的尺寸下看起来更好





你想探索两条路

使用模型数据预先填充集合

在您的示例中,您已经这样做了,但是您正在获取一个集合,集合URL是
http://localhost/movies
,如果您想要一个单独的模型,请查看下一点

仅在需要时提取每个模型

假设您试图在一个未预填充的集合上获取ID,并且一次加载一个模型,那么您必须以一种自定义的方式来实现这一点,向集合中添加一个与此类似的方法

getOrFetch: function(id, options) 
{
    var model;
    if (this.get(id)) 
    {
        model = this.get(id);
    } 
    else 
    {
      model = new this.model({
        id: id
      });
      this.add(model);
      model.fetch(options);
    }
    return model;
}

或者将函数添加为
Backbone.Collection.prototype.getOrFetch
,这样,如果需要,您可以在每个主干集合上使用它。

您需要探索两条路径

使用模型数据预先填充集合

在您的示例中,您已经这样做了,但是您正在获取一个集合,集合URL是
http://localhost/movies
,如果您想要一个单独的模型,请查看下一点

仅在需要时提取每个模型

假设您试图在一个未预填充的集合上获取ID,并且一次加载一个模型,那么您必须以一种自定义的方式来实现这一点,向集合中添加一个与此类似的方法

getOrFetch: function(id, options) 
{
    var model;
    if (this.get(id)) 
    {
        model = this.get(id);
    } 
    else 
    {
      model = new this.model({
        id: id
      });
      this.add(model);
      model.fetch(options);
    }
    return model;
}
或者将函数添加为
Backbone.Collection.prototype.getOrFetch
,以便在需要时在每个主干集合上使用它

//MyModel
define([
], function () {

    var MyModel = Backbone.MyModel.extend({
        idAttribute: 'object_id'
    });

    return MyModel
});
getOrFetch: function(id, options) 
{
    var model;
    if (this.get(id)) 
    {
        model = this.get(id);
    } 
    else 
    {
      model = new this.model({
        id: id
      });
      this.add(model);
      model.fetch(options);
    }
    return model;
}