首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >布局和加载元素的异步问题

布局和加载元素的异步问题
EN

Stack Overflow用户
提问于 2015-12-11 22:54:20
回答 1查看 657关注 0票数 1

这是我的文件graph.json

代码语言:javascript
运行
复制
{
"nodes":[                                               
  {"data":{"id": "Node 1"}},
  {"data":{"id": "Node 2"}}                                                 
],                                                  
"edges":[
  {"data":{"source":"Node 1", "target":"Node 2"}}
]
}       

我试图使用下面的代码在CoSE布局中使用CoSE可视化。不幸的是,我只得到一个没有任何节点的空图。但是,如果我使用“同心圆”或“网格”布局,或者将图形数据直接写入cytoscape.js初始化部分,它就可以工作。为什么它不像我那样工作:使用'CoSE‘布局和从JSON文件加载的图形?

代码语言:javascript
运行
复制
<html>
<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://cytoscape.github.io/cytoscape.js/api/cytoscape.js-latest/cytoscape.js"></script>

<script>
$(function () {

$('#cy').cytoscape({

    layout: {name: 'cose'},

    style: cytoscape.stylesheet()

    .selector('node')
    .css({'content': 'data(id)'}),

    ready: function () {window.cy = this;}

});

$.getJSON('graph.json', function(data) {cy.load(data)});

});
</script>

</head>

<body>
<div id="cy" style="height: 100%; width: 100%; position: absolute; left: 0; top: 0;">
</div>

</body>
</html>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-14 15:28:03

(1)赛德海景就是在做你要做的事情。在没有元素的情况下初始化,在它们上运行CoSE。您将异步加载其他元素,这肯定会在init之后发生。

(2) 这个博客似乎对同步/异步有一个很好的描述。如果你对JS还不熟悉,或者你对编程还不熟悉的话,你可能想读一本关于JS的书。

(3)如果你想保持简单,就把fetch的承诺传递给options.elements。阅读init部分以获得更多信息:http://js.cytoscape.org/#core/initialisation

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34233882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档