Javascript 如何构建可用于多个URL的主干模型?
我正在构建我的第一个webapp,其中有一个模型(这是一个“引用”),我可以从API的多个来源获得。例如,有一个调用获取最新的报价:Javascript 如何构建可用于多个URL的主干模型?,javascript,url,backbone.js,Javascript,Url,Backbone.js,我正在构建我的第一个webapp,其中有一个模型(这是一个“引用”),我可以从API的多个来源获得。例如,有一个调用获取最新的报价: '/quote/latest' 我有一个,从中我得到一个随机的: '/quote/random' 还有一些变化。因此,为了让第一个开始,我首先制作了一个简单的模型: var QuoteModel = Backbone.Model.extend({ urlRoot: 'quote/latest' }); 我现在必须为每个URL制作一个模型吗?或者如何使
'/quote/latest'
我有一个,从中我得到一个随机的:
'/quote/random'
还有一些变化。因此,为了让第一个开始,我首先制作了一个简单的模型:
var QuoteModel = Backbone.Model.extend({
urlRoot: 'quote/latest'
});
我现在必须为每个URL制作一个模型吗?或者如何使这个QuoteModel动态?欢迎所有提示 urlRoot可以是一个返回所需urlRoot的函数。一个简单的例子是覆盖传递您想要获取的内容的获取
var QuoteModel = Backbone.Model.extend({
urlRoot: function(){
return "/quote/"+this.request
},
fetch:function(request){
this.request = request;
Backbone.Model.prototype.fetch.call(this);
}
});
var quoteModel = new QuoteModel();
quoteModel.fetch("new");
这可能会对您有所帮助:您还可以使用单独的
fetchLatest
和fetchRandom
方法。如果您不想覆盖fetch
,您只需要确保请求的默认值是合理的。