问题
myDiagram.model = new go.GraphLinksModel(
[
{ key: "Alpha", color: "lightblue" },
{ key: "Delta", color: "pink" }
],
[
{ from: "Alpha", to: "Alpha" },
{ from: "Delta", to: "Alpha" }
]);
I need to add more values dynamically, how should I do this?
回答1:
Node data (source: GoJS docs, class Model):
If you want to add or remove node data from the nodeDataArray, call the addNodeData or removeNodeData methods.
Link data (source: GoJS docs, class GraphLinksModel):
If you want to add or remove link data from the linkDataArray, call the addLinkData or removeLinkData methods. If you want to modify the node a link connects to, call the setFromKeyForLinkData and/or setToKeyForLinkData methods.
回答2:
An example of dynamically adding from an object list to a GraphLinksModel:
var model = new go.GraphLinksModel();
for(let id = 1; id < node_list.length; id++){
model.addNodeData( { key: node_list[id].getNodeID(), color: "lightblue" } );
model.addLinkData( { from: node_list[id].getPreviousNode(), to: node_list[id].getNodeID() } );
}
myDiagram.model = model;
console.log(model.nodeDataArray); //to see data
来源:https://stackoverflow.com/questions/28525407/how-to-add-node-data-and-link-data-dynamically-in-gojs