根据this question and answer,我做了JSFiddle。
我要做的是找到一种方法将JSON数据正确导出/导入到cytoscape.js。
我正在使用JSON.stringify(cy.json())
从元素中获取JSON数据,另一方面我正在清理cy
区域并使用cy.add(text-input)
添加元素。
即:您可以添加节点,复制它生成的JSON数据,然后您可以刷新浏览器并直接从节点粘贴JSON数据,尝试将其添加到cy
。
但我无法让它工作,我无法弄清楚我错在哪里(可能使用cy.add
功能)。始终确定两个错误:
An element must be of type 'nodes' or 'edges'; you specified 'undefined'
Uncaught TypeError: Cannot read property 'single' of undefined
有什么想法吗?
提前致谢。
答案 0 :(得分:3)
如果从源代码构建(或在发布时使用2.1),则可以使用eles.jsons()
,它提供了一个元素JSON数组。您正在调用cy.json()
,它提供了整个图形初始化选项JSON - 您无法将其传递给cy.add()
或类似的。
除eles.jsons()
之外,您可以使用现有的ele.json()
并通过迭代元素来自行构建数组。
您还需要将对象传递给cy.add()
等。您无法传递JSON字符串。
e.g。
cy.add( JSON.parse( jsonString ) )