Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.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 cy.load()元素丢失_Javascript_Cytoscape.js - Fatal编程技术网

Javascript cy.load()元素丢失

Javascript cy.load()元素丢失,javascript,cytoscape.js,Javascript,Cytoscape.js,我正在尝试将当前图形存储在服务器端的浏览器中,现在我正在测试如何存储。我遇到了一个奇怪的问题:在jsoning、取消循环、字符串化和重新加载图形之后,元素不知何故丢失了 var j = network_tab.cy.json(); j = JSON.decycle(j); j = JSON.stringify(j); network_tab.cy.load(j); 在取消循环图表之前,我无法将其字符串化。如果您查看字符串化版本,您可以看到,元素仍然存在,但是在加载之后,它们就消失了 也许我在使

我正在尝试将当前图形存储在服务器端的浏览器中,现在我正在测试如何存储。我遇到了一个奇怪的问题:在jsoning、取消循环、字符串化和重新加载图形之后,元素不知何故丢失了

var j = network_tab.cy.json();
j = JSON.decycle(j);
j = JSON.stringify(j);
network_tab.cy.load(j);
在取消循环图表之前,我无法将其字符串化。如果您查看字符串化版本,您可以看到,元素仍然存在,但是在加载之后,它们就消失了

也许我在使用cy.load()函数时遇到了一些问题,但我希望你们能帮助我

编辑:问题似乎出在stringify函数上。然后我的问题归结为如何使整个对象对load()可读

我想复制整个东西,尤其是元素和位置。 因此,完全重新初始化图形是否更好?如果是,如何添加节点的位置?

(1)cy.json()在2.1之前没有文档记录(可能还没有准备好使用)

(2) 您不需要使用
JSON.decycle()
,除非您自己放在元素中的数据相互引用——一般来说这不是一个好主意

(3) cy.json()提供初始化中使用的整个图形状态,而不是用于
cy.load()
。您可以将
json.elements
传递给
cy.load()
,但不能传递根对象
json

(4) 您也可以通过(2.1之前测试和记录的)ele.JSON()将每个单独的元素作为JSON获取,并构建自己的对象以传递给
cy.load()


(5) 您是否检查了要传递给
cy.load()
的对象?你能把它贴在这里吗?您没有将JSON字符串传递给
cy.load()
,是吗?

我试图解析整个cy.JSON()对象,但显然不起作用。现在我尝试解析cy.json().元素以加载,所有操作都正常,但位置除外。因此,我可能必须完全重新初始化图形,然后才能添加位置?在调用
cy.load()
时,请记住,布局是随它一起调用的,而不是使用元素指定位置的
cy.add()
。因此,您需要使用预设布局或类似布局,或者需要使用
cy.add()
。文件:
 An element must be of type `nodes` or `edges`; you specified `undefined`   
 console.error( msg );
 cytoscape.js (line 244)
 TypeError: obj._private is undefined