我在Ember app中使用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 把手代码很简单:
<div class="container content-section" id="graph-content">
<div class="centre" style="margin: 10px">
<!-- cytoscape graph -->
<div id="cy"></div>
</div>
答案 0 :(得分:0)
问题解决了 - 这是我的错误。节点的样式基于 JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("userName", "name");
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(url, jsonObject, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
// do something...
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// do something...
}
});
MySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest);
} catch (JSONException e) {
e.printStackTrace();
}
,它属于ToTo节点并且是异步加载的。当我将节点插入图形时,节点promise已经是fullfiled,但是嵌套关系尚未完全填充,因此节点样式为category
。