如何在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这是一个视频教程,我没有链接。