我正在学习Backbone.js并阅读docs我很难理解以下内容:
"If a model property is defined, you may also pass raw attributes objects, and have them be vivified as instances of the model."
查看Collection#model,他们提供了示例:
var Library = Backbone.Collection.extend({
model: Book
});
但是我如何从那里开始并且"传递原始属性对象"?
******** ***********编辑
好的回顾现在我认为这意味着如果我添加了模型" Book"到图书馆馆藏,现在我可以做 -
var lib = new Library;
lib.add([
{name: "Curious George"},
{name: "Harry Potter"}
]);
这将在lib集合中创建2个具有相应名称的模型,对吗?
答案 0 :(得分:1)
在这种情况下,原始对象只是一个简单的对象(不是已构建的模型)
在此示例中,集合的类型为Book
(可能具有某些预定义属性和默认值的模型)
var Library = Backbone.Collection.extend({
model: Book
});
因此,图书馆是一个集合Book
模型。
如果您想在图书馆中创建新图书,可以通过两种方式进行操作。
1。)首先创建一个模型并将其添加到集合
var book1 = new Book({
id: 1,
name: 'abc'
});
Library.add(book1);
2.。)直接将Raw属性传递给Collection。
Library.add([{id: 1, name: 'abc'}]);