Javascript 在cytoscapejs中操作后如何保存图形的整个状态
我在angular中使用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({
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”对象,布局为“圆圈”或除预设以外的任何其他内容(任何其他布局选项都将覆盖我假设的位置)。