gpt4 book ai didi

url - 如何使用主干在集合和模型中创建动态 url

转载 作者:行者123 更新时间:2023-12-04 09:36:02 24 4
gpt4 key购买 nike

我的收藏和模型是这样的:

detail_userid = 0;
detail_contactid = 0;
var ContactDetail = Backbone.Model.extend({
urlRoot: URL_CONTACTS1+detail_userid+"/"+detail_contactid
});

var ContactDetailCollection = Backbone.Collection.extend({
model: ContactDetail,
url: URL_CONTACTS1+detail_userid+"/"+detail_contactid
})

入口是:
ContactDetailManagePageModel.prototype.init = function(m,n){ 
detail_userid = m;
detail_contactid = n;
var myContactDetails = new ContactDetailCollection();
var contactDetailListView = new ContactDetailListView({
collection: myContactDetails
});
myContactDetails.fetch({reset:true});
}

但是当它运行时,网址是: http://localhost:8080/ws/users/contacts/0/0 ,表示detail_userid和detail_contactid的赋值不成功,不知道为什么。

希望得到您的帮助。谢谢。

最佳答案

我认为您在运行 PageModel 的初始化之前静态定义了 urlRoot 和 url 属性(虽然不太确定您从哪里获得 m 和 n ......)

url 和 urlRoot 都可以是一个函数,因此您可以在实例化期间传入选项并在模型上动态设置它们。

涵盖定义集合然后创建集合的简单示例

var ContactDetailCollection = Backbone.Collection.extend({ 
model: ContactDetail,
url: function(){
return URL_CONTACTS1 + this.options.detail_userid + "/" + this.options.detail_contactid;
}
});

var myContactDetails = new ContactDetailCollection({
detail_userid: foo,
detail_contactid: bar
});

正如我所提到的,我不确定您的 init 函数在做什么,我猜这是您的应用程序中的自定义功能,我不需要担心。

我很确定要带走的主要内容是动态设置 url 和 urlRoot

关于url - 如何使用主干在集合和模型中创建动态 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17358335/

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