更改后获取 gojs 更新模型

get gojs updated model after change

我正在使用 go.js 编写测试应用程序。此应用程序允许用户动态添加节点、移动现有节点并将它们相互连接。

图的初始状态用这个模型描述:

var nodeDataArray = [
    { key: "a", operation: "concat" },
    { key: "b" },
    { key: "c" },
    { key: "d", loc: new go.Point(30, 50) }
];
var linkDataArray = [
    {from: "a", to: "b", toPort: "A"}
];

现在我遇到了这个问题。当我用 myDiagram.model.toJson() 输出我的更新模型时,无论用户在此期间做了什么更改,我总是得到原始模型。有没有更好的方法输出图的当前状态?

谢谢

不,调用Model.toJson是获取模型当前状态的最佳方式。问题是模型数据如何反映您在图表中看到的内容。

如果用户添加或删除了任何节点或链接,您会在 toJson() 输出中看到。

如果 Node.location 上存在双向绑定并且用户移动了一些节点,则新位置将反映在模型数据中。

如果用户通过您应用中的某些代码以某种方式修改了节点的 "operation",这也应该反映在模型数据中,假设您的代码修改了数据而不是 GraphObject(s) ) 直接不使用双向绑定。