gpt4 book ai didi

Backbone.js 在模型中设置 URL 参数并将其与 fetch 一起使用

转载 作者:行者123 更新时间:2023-12-04 03:13:22 26 4
gpt4 key购买 nike

我想从带有参数的特定 url 中获取模型:
url: server/somecontroller/id/?type=gift

简单的工作方式是:

collection.fetch({ data: { type: 'gift'} });

但我想在模型中设置它:
    ...
if(id){
App.coupon = new AffiliatesApp.Coupon({id: id});
} else {
App.coupon = new AffiliatesApp.Coupon({id: 'somecontroller'}, {type: 'gift'});
}
App.coupon.fetch();

我怎样才能实现它?

最佳答案

实现这一点的最简单方法是覆盖 Backbone 的 url使用您定义的 Coupon 模型上的方法。例如你可以这样做:

Affiliates.Coupon = Backbone.Model.extend({
urlRoot : "server/somecontroller/",
url : function(){
var url = this.urlRoot + this.id;
if(this.get("type")){
url = url + "/?type=" + this.get("type");
}
return url;
}
});

这个解决方案很容易实现,但有一个缺点:生成的 URL 将用于同步到服务器的每个操作(获取、保存、..)。

如果您需要根据您正在执行的操作更好地控制 URL 的生成,您将需要覆盖 Backbone 的 Sync模型的方法。

关于Backbone.js 在模型中设置 URL 参数并将其与 fetch 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12521765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com