Javascript 在集合中获取错误。创建:未捕获错误:A";url";必须指定属性或函数
我有一个模型Javascript 在集合中获取错误。创建:未捕获错误:A";url";必须指定属性或函数,javascript,backbone.js,Javascript,Backbone.js,我有一个模型 var TodoModel = Backbone.Model.extend({ defaults: { title : '', completed: false } }); 当我尝试使用collection.create方法将此模型添加到集合中时,我遇到了一个错误 未捕获错误:必须指定“url”属性或函数 我试着用下面的方法 var TodoCollection = Backbone.Collection.extend({
var TodoModel = Backbone.Model.extend({
defaults: {
title : '',
completed: false
}
});
当我尝试使用collection.create
方法将此模型添加到集合中时,我遇到了一个错误
未捕获错误:必须指定“url”属性或函数
我试着用下面的方法
var TodoCollection = Backbone.Collection.extend({
model : TodoModel,
});
todoCollection.create({title:'Try out code examples', completed:true});
有人能帮我吗?如果您正在创建模型/集合,默认情况下,您必须为资源指定url。您可以按如下方式执行此操作:
var TodoModel = Backbone.Model.extend({
defaults: {
title : '',
completed: false
}
});
var TodoCollection = Backbone.Collection.extend({
url: '/todos',
model : TodoModel,
});
有关更多详细信息,请参阅
我认为这里的混乱来自Backbone.js的Todo示例,它使用本地存储()。如果跳转到localstorage代码的底部,可以看到主干。设置了同步。通过这样做,我们改变了创建模型的默认行为,使其不再需要Url。在大多数主干网应用程序中,情况并非如此,需要服务器端URL才能使模型正常工作。如果要创建模型/集合,默认情况下必须为资源指定URL。您可以按如下方式执行此操作:
var TodoModel = Backbone.Model.extend({
defaults: {
title : '',
completed: false
}
});
var TodoCollection = Backbone.Collection.extend({
url: '/todos',
model : TodoModel,
});
有关更多详细信息,请参阅
我认为这里的混乱来自Backbone.js的Todo示例,它使用本地存储()。如果跳转到localstorage代码的底部,可以看到主干。设置了同步。通过这样做,我们改变了创建模型的默认行为,使其不再需要Url。在大多数主干网应用程序中,情况并非如此,模型工作需要服务器端URL。这是因为destroy()函数将调用backbone.sync来更新服务器,而不仅仅是前端的模型
因此,如果使用REST同步数据,则需要在模型中设置url属性,以便知道向何处发送请求:
Backbone.Model.extend({
url: "http://myapi.com/"
})
为了获得更大的灵活性,您还可以设置urlRoot:
或者你可以加上
Backbone.sync = function(method, model, success, error){
success();
}
这是因为destroy()函数将调用Backbone.sync来更新服务器,而不仅仅是前端的模型
因此,如果使用REST同步数据,则需要在模型中设置url属性,以便知道向何处发送请求:
Backbone.Model.extend({
url: "http://myapi.com/"
})
为了获得更大的灵活性,您还可以设置urlRoot:
或者你可以加上
Backbone.sync = function(method, model, success, error){
success();
}
使用你的代码