骨干中的原始属性对象是什么

What are raw attribute objects in Backbone?

本文关键字:属性 对象 是什么 原始      更新时间:2023-09-26

我正在学习Backbone.js并阅读文档,我很难理解以下内容:

"If a model property is defined, you may also pass raw attributes objects, and have them be vivified as instances of the model." 

看看Collection#模型,他们提供了一个例子:

var Library = Backbone.Collection.extend({
  model: Book
});

但是我该如何继续"传递原始属性对象"呢?

********编辑***********

好的,现在回过头来看,我想这意味着,如果我把模型"书"添加到图书馆收藏中,现在我可以做了-

var lib = new Library;
lib.add([
  {name: "Curious George"},
  {name: "Harry Potter"}
]);

这将在lib集合中创建两个具有相应名称的模型,对吧?

在这种情况下,原始对象只是一个简单的对象(不是一个已经构建的模型)

在本例中,集合的类型为Book(这是一个可能具有一些预定义属性和默认值的模型)

var Library = Backbone.Collection.extend({
  model: Book
});

所以图书馆是Book模型的集合。

如果你想创建一本新书作为图书馆的一部分,你可以从两个方面着手。

1.)首先创建一个模型并将其添加到集合

var book1 = new Book({
    id: 1,
    name: 'abc'
});
Library.add(book1);

2.)将"原始"属性直接传递给"集合"

Library.add([{id: 1, name: 'abc'}]);