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 関数は、1 つの属性値の読み取りのみをサポートします。

たとえば、次のように独自に記述できます。

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 に答える