2014-09-21 83 views
0

我正在使用sigma.js以及角度js来构建我的可视化web应用程序。Sigma.js过滤器问题

问题陈述:我已经编写了代码,当过滤条件发生变化时,过滤器模块将被触发,以根据用户选择过滤掉节点(参见下面的代码)。但是,最初第一次过滤器工作正常没有任何问题,但后来似乎没有工作。看起来它根本没有执行过滤谓词。

我尝试了以下可能的方式,但无法解决问题。

1)销毁并重新创建每个数据更改触发器的过滤器对象。

2)未注册和注册的过滤器谓词。

代码片段:

scope.$watch('filtersettingdata',function(){ 
s = new sigma({ 
      graph: scope.data['mdata'], 
      container: element.elementid, 
      renderer: { 
       container: document.getElementById(element.elementid), 
       type: 'canvas' 
      }, 
      settings: filtersettingdata 
      }); 
     var filter = new sigma.plugins.filter(s); 
      filter.nodesBy(
         function(n) { 
         //predicate with new filter values 
         },'filter_name').apply(); 
      s.refresh(); 
    } 

任何帮助/建议将非常感激。

在此先感谢。

回答