我有一个使用requirejs的骨干应用程序,我需要按模型属性过滤一个集合。
因此,我想返回一个包含已过滤项目的新集合。
但是,这是我的集合(collections / 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);
}
});
});
答案 0 :(得分: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;
});