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

问题描述 投票:1回答:1

我正在学习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”添加到Library集合中,现在我可以做 -

var lib = new Library;

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

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

javascript backbone.js attributes
1个回答
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'}]);
© www.soinside.com 2019 - 2024. All rights reserved.