如何在Backbone.js中通过id更新模型?
我尝试了主干教程中的简单示例,但无法使其正常工作如何在Backbone.js中通过id更新模型?,backbone.js,Backbone.js,我尝试了主干教程中的简单示例,但无法使其正常工作 var Person = Backbone.Model.extend({}); var People = Backbone.Collection.extend({ model: Person, url: "http://localhost:3002/people" }); var people = new People(); var person = new Person({ id: 3 }); person.fe
var Person = Backbone.Model.extend({});
var People = Backbone.Collection.extend({
model: Person,
url: "http://localhost:3002/people"
});
var people = new People();
var person = new Person({
id: 3
});
person.fetch({
success: function () {
person.set({age: 23});
person.save();
}
});
我只想更新id等于3的现有记录,但出现错误必须指定“url”属性或函数。我确信我在键入此示例时没有犯错误,但它在教程中起作用,对我不起作用。是因为某些版本更改吗?正如错误和注释所示,您需要为模型指定
url
属性,或者将person
模型添加到person
集合中
如果您想使用与人物
集合相同的url
获取您的模型。您需要通过执行以下操作将person
添加到people
集合中:
var people = new People(person);
// or
people.add(person);
// The fetch url for a person would look like
// GET http://localhost:3002/people/3 Assuming the id of the person is 3.
如果您需要使用不同的url
,而不是您的收藏指定的人物
模型。您可以在Person
模型中指定url
或urlRoot
属性
var Person = Backbone.Model.extend({
urlRoot:'http://localhost:3002/person'
});
// The fetch url for a person would look like
// GET http://localhost:3002/person/3 The number will match id of model.
您可以发布到上述教程的链接吗?您可以使用fetch在集合之外创建模型。因此,模型与集合没有关联。您必须使用集合来读取/保存或设置模型的URL。您的人与您的集合没有任何关联。它不知道它的URL是什么。您的模型没有URL属性,只有您的集合有一个。但你不是在取回收藏你是在取回model@nemesv这是一个视频教程,我没有链接。