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