我不愿意使用GOJS和TreeModel显示链接。我能够创建节点,但不能创建链接。
我认为这与GOJS使用数据数组而不是json有关。
var $ = go.GraphObject.make;
var myDiagram =
$(go.Diagram, "myDiagramDiv",
{
"undoManager.isEnabled": true, // enable Ctrl-Z to undo and Ctrl-Y to redo
layout: $(go.TreeLayout, // specify a Diagram.layout that arranges trees
{ angle: 90, layerSpacing: 35 })
});
// the template we defined earlier
myDiagram.nodeTemplate =
$(go.Node, "Horizontal",
{ background: "#44CCFF" },
$(go.Picture,
{ margin: 10, width: 50, height: 50, background: "red" },
new go.Binding("source")),
$(go.TextBlock, "Default Text",
{ margin: 12, stroke: "white", font: "bold 16px sans-serif" },
new go.Binding("text", "name"))
);
var model = $(go.TreeModel);
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "/api/Employees/", false);
xmlhttp.send();
var nodeArray = JSON.parse(xmlhttp.responseText);
//model = nodeArray;
myDiagram.model.nodeDataArray = nodeArray;
//myDiagram.model = model;
答案 0 :(得分:0)
如果您检查控制台窗口,则会看到此错误消息:
Error: ParentKey value for node data [object Object] is not a number or a string: null
那是因为您设置了:
"parent": null
在您的一个节点数据对象中。我建议您删除该属性。
我还建议您使用go-debug.js
库而不是go.js
库,因为该库的Debug版本将检测并警告您比常规库更多的问题。 / p>