0

在下面的 Backbone 模型中,我有一个嵌套的 Backbone 集合。

var Student = Backbone.Model.extend({
    firstName: null,
    lastName: null,
    initialize: function() {
        this.programCollection = new ProgramCollection({});
    }
});

var ProgramCollection = Backbone.Collection.extend({ 
    model: Program
});

但是,当尝试像这样将 Program 对象添加到集合中时...

var testStudent = new Student();
testStudent.get("programCollection").add(new Program());

我收到以下错误:

无法获取属性“添加”的值:对象为空或未定义

显然我做错了,因为 programCollection 是未定义的。

4

1 回答 1

0

模型实例的属性直接与attributes属性不同。如果您希望模型实例有一个集合,而不是直接存储在该学生记录上的数据,请将其设置为模型实例属性(就像您所做的那样),然后直接访问它而不调用get.

var testStudent = new Student();
testStudent.programCollection.add(new Program());
于 2013-09-06T14:20:37.210 回答