Backbone中的原始属性对象是什么?

时间:2016-04-29 18:46:10

标签: javascript backbone.js attributes

我正在学习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个具有相应名称的模型,对吗?

1 个答案:

答案 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'}]);