Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在cytoscapejs中操作后如何保存图形的整个状态_Javascript_Angular_Cytoscape.js - Fatal编程技术网

Javascript 在cytoscapejs中操作后如何保存图形的整个状态

Javascript 在cytoscapejs中操作后如何保存图形的整个状态,javascript,angular,cytoscape.js,Javascript,Angular,Cytoscape.js,我在angular中使用cytoscapejs,我希望用户在完成一些操作(例如平移、缩放、移动节点和边)后保存图形的状态 我尝试将整个对象保存在一个临时变量中,并尝试通过单击按钮用保存的对象重新加载图形来从中渲染回图形 const cy_contianer = this.renderer.selectRootElement('#cy'); const localselect = this.select; this.cy = cytoscape({

我在angular中使用cytoscapejs,我希望用户在完成一些操作(例如平移、缩放、移动节点和边)后保存图形的状态

我尝试将整个对象保存在一个临时变量中,并尝试通过单击按钮用保存的对象重新加载图形来从中渲染回图形

 const cy_contianer = this.renderer.selectRootElement('#cy');
      const localselect = this.select;
      this.cy = cytoscape({
            container : cy_contianer,
            layout: this.layout,
            minZoom: this.zoom.min,
            maxZoom: this.zoom.max,
            style: this.style,
            elements: this.elements,
        });
上面的代码是如何初始化呈现图形的“cy”对象的。 我试着存钱 this.cy.json() 还尝试使用此.cy.json().elements取出元素,期望在从元素重新渲染时也会保存和渲染x和y位置,但这也不起作用

有很少的参考文献可用于处理具有角度的Cytoscape。欢迎提出任何建议


非常感谢

我没有保存整个cy对象(这不起作用),而是使用从cy对象中提取节点和边(其中还包含我所需要的每个节点的x、y坐标)

let elements = {
   nodes: this.savedCyInstance.elements().nodes().jsons()
   edges: this.savedCyInstance.elements().edges().jsons()
}

并调用初始化代码,将更新的元素和布局名称设置为“预设”

请在尝试加载保存图形的位置添加代码。THX通过将layout.name更改为“preset”使其正常工作。从保存的“cy”对象加载时,发生的情况是,我正在保存整个“cy”对象,布局为“圆圈”或除预设以外的任何其他内容(任何其他布局选项都将覆盖我假设的位置)。