如何使用骨干集合来过滤模型

时间:2016-10-12 14:54:03

标签: d3.js backbone.js

我已经实现了一个包含多个模型和视图的应用程序,但收集有点麻烦。到目前为止,我已经实现了我的目标,没有使用集合,现在我需要根据属性操作一组模型。而且我很确定我现在需要收藏品。

我有以下结构(这比实际实现简单):

app.Connector=Backbone.Model.extend({
    line: //a d3 line object
    source: //a d3 group
    target: //a d3 group  
    // and some functions
});

app.Set=Backbone.Collections.extend({
    model:app.Connector;
    url:"/set"  //what is the purpose of url?
});

var set=new app.Set();
//multiple connectors are initialized 

说我有一个d3对象obj。如何获得obj作为target的连接器的列表/数组?

1 个答案:

答案 0 :(得分:2)

var filtered = set.filter(d=>d.get('target') == obj)

我发现Backbone get函数过于冗长,所以我想在过滤之前将集合转换为json。

var filtered = _.filter(set.toJSON(),d=>d.target == obj)