2016-03-27 18 views
0

無関係で同じソース要素を共有する複数のサイトスコープグラフインスタンスを持つことは可能ですか?私はグラフ1に変更はなく、グラフ2は、あなたが見ることができるように同じソース要素を持つ無関係な複数のグラフインスタンス?

からhttps://jsfiddle.net/fa8hbdnh/

var elements = [ 
     { data: { id: 'n1'}, position: {x:100, y: 100}}, 
     { data: { id: 'n2'}, position: {x:150, y :150}}, 
     //--->Edges---> 
     { data: {id: 'e1', source: 'n1', target: 'n2'}}, 
    ]; 

    var graph1 = cytoscape({ 
      headless: true, 
      elements: elements 
    }); 
    var graph2 = cytoscape({ 
     headless: true, 
     elements: elements 
    }); 

    graph1.elements()[0].data('foo',100);   // Only changing graph1... 
    console.log(graph2.elements()[0].data('foo')); // ...however graph2 is also modified 

http://js.cytoscape.org/これはcytoscapeライブラリが必要):ここでは

は私がやろうとしているものの一例ですまた影響を受けた。他のインスタンスに影響を与えることなく、あるインスタンスにデータ要素を保存する方法はありますか?

答えて

0

Cytoscape.jsは、それを渡すだけです。 JSONについては何も仮定せず、データをコピーしません。これは、ユースケースの90%以上を減速させるためです。

JSONを渡す前にコピーするか、最初のインスタンスから後続のインスタンスにコレクションを渡します。コレクションは、ドキュメントに記載されているように、常に1つのインスタンスから別のインスタンスにコピーされます。コレクションを渡す唯一の方法だからです。

関連する問題