【发布时间】:2020-01-24 18:22:00
【问题描述】:
我想根据全局 Javascript 变量更改图表的样式。例如,假设我的边缘有name 和price 属性,我想让边缘的标签不同,这取决于全局label_type 变量:
let lable_type = 'I_want_name_labels'
switch(lable_type) {
case 'I_want_name_labels':
cy.style().selector('edge').style({'label': 'data(name)'});
break;
case 'I_want_price_labels':
cy.style().selector('edge').style({'label': 'data(price)'});
break;
}
上面的代码根本没有做任何事情(没有显示标签),我真的不明白为什么。 我的边缘具有以下结构:
{
"data": {
"id": "node_node2",
"source": "node1",
"target": "node2",
"directed": true,
"name": "Baltazar",
"price": 1095.73
}
}
注意:我尝试改用cy.filter('edge').style({'label': 'data(name)'}),但是data 似乎无法通过这种方式访问,我收到了这个警告:
The style property `label: data(name)` is invalid
那么,如何使用 cytoscape.js 获得条件样式?我在这里想念什么?
【问题讨论】:
-
您好,有一个简单的问题:您想用标签初始化节点/边还是想在之后更改它们?
-
到目前为止,我还没有使用任何标签初始化边缘,但我可以使用任何数据值执行此操作,然后再进行更改
-
如果在初始化时这样做更容易,为什么还要在之后这样做?
-
嗯,我想在应用样式后重新加工边缘,但我意识到在返工后应用样式确实更聪明。它工作正常,感谢领导!
标签: javascript graph styles conditional-statements cytoscape.js