2013-12-01 5 views
0

У меня есть базовое приложение с использованием requirejs, и мне нужно отфильтровать коллекцию по атрибуту model.requirejs: Новый объект того же типа, что и модуль

Поэтому я хочу вернуть новую коллекцию с отфильтрованными элементами.

Однако, это моя коллекция (коллекции/ActorList.js) и внутри нее, я хочу создать экземпляр нового альбома ActorList. Я попытался код ниже, но это не похоже на работу (ActorList кажется неопределенным ...)

коллекции/ActorList.js:

define([ 
    'backbone', 
    'models/Actor', 
    'collections/ActorList' 
], function (Backbone, Actor, ActorList) { 
    'use strict'; 

    return Backbone.Collection.extend({ 
     model: Clothe, 
     url : "assets/data/clothes.json", 

     filterBy: function(attribute, value) { 
      var filtered = this.filter(function(model) { return model.get(attribute) === value; }); 
      return new ActorList(filtered); 
     } 
    }); 
}); 

ответ

1

Вы вопрос показывает, что collections/ActorList.js требует себя. Это круговая зависимость.

Как насчет этого?

define([ 
    'backbone', 
    'models/Actor', 
], function (Backbone, Actor) { 
    'use strict'; 

    var ActorList = Backbone.Collection.extend({ 
     model: Clothe, 
     url : "assets/data/clothes.json", 

     filterBy: function(attribute, value) { 
      var filtered = this.filter(function(model) { return model.get(attribute) === value; }); 
      return new ActorList(filtered); 
     } 
    }); 

    return ActorList; 
}); 
Смежные вопросы