我在 Ember 应用程序中使用 Cytoscape.js。我已经创建了一个图表组件。我尝试在组件的 didInsertElement
函数中设置图形样式表,如下所示:
this.get("cy").style()
.selector('node')
.css({
'width': '100px',
'height': '100px',
'border-color': 'gray',
'border-width': 3,
'border-opacity': 0.5
})
// unimportant code here
.selector('.faded')
.css({
'opacity': 0.0,
'text-opacity': 0
}).update();
当我在 Ember 中使用此组件访问路线时,未应用样式(但布局和其他内容正常工作)。当我转乘另一条路线然后返回时,风格会神奇地出现。
我做错了什么?如何在“首次加载”时应用样式?
编辑:完整代码可以找到 here Handlebars 代码很简单:
<div class="container content-section" id="graph-content">
<div class="centre" style="margin: 10px">
<!-- cytoscape graph -->
<div id="cy"></div>
</div>
最佳答案
问题已解决 - 这是我的错误。节点的样式基于category
,属于节点,异步加载。当我将节点插入到图中时,节点 promise 已完成,但嵌套关系尚未完成,因此节点样式为未定义
。
关于javascript - Cytoscape.js:样式不适用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32609588/