我尝试过骨干教程中的简单示例,无法实现这一点
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”属性或函数。我确信在键入此示例时我没有犯错,但它在教程中有效,对我不起作用。是因为某些版本更改?
答案 0 :(得分:0)
正如错误和评论所示,您需要为模型指定url
属性,或者将person
模型添加到people
集合。
如果您希望使用与fetch
集合相同的url
来people
您的模型。您需要通过执行以下操作将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
或Person
属性。
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.