0

我有一个如下所示的集合

window.courses = new Courses();

在我的代码中的一些地方,我试图访问集合的属性。我用 pluck 只获得了一个属性,即 courseName

例如:

var courseName = window.courses.pluck('Name');

我可以在我的集合中获取所有课程名称(单个属性),但是有没有一种方法可以从 Courses 集合中获取每个项目的名称和 ID,例如

var courseList = window.courses.pluck('Id','Name');

使用下面的代码

var courseList = window.courses;

我得到了我不需要的所有额外细节,所以有人可以建议如何获取集合中所有模型的必需属性

提前致谢

4

1 回答 1

2

标准的 Backbone pluck 函数只支持读取一个属性值。

你可以自己写,例如:

Backbone.Collection.prototype.pluckMany = function (attrs) {
    return _.map(this.models, function (model) {
        return _.pick(model.attributes, attrs);
    });
}

var courseList = window.courses.pluckMany(['Id', 'Name']);

注意:未经测试的代码!

于 2012-06-12T08:15:58.103 回答