MXGraph:移动边缘时不会重绘

时间:2019-12-09 13:34:55

标签: javascript angular typescript mxgraph

这可能是一个愚蠢的问题,我知道如果不看代码很难说……但是我遇到了问题,也许有人可以指出我正确的方向。

我正在开发与Angular7集成的javascript mxGraph应用程序。我正在使用ports.html示例的修改版本。

如果我添加两个节点并连接它们,那么我将使用以下代码将其导出为XML:

var enc = new mx.mxCodec(mx.mxUtils.createXmlDocument());
var node = enc.encode(editor.graph.getModel());
xml = mx.mxUtils.getPrettyXml(node);

我能够正确保存它,然后重新加载。

但是,如果我按照此处的图像所示移动连接,则:

Before exporting XML

该连接未在图中重新绘制,尽管它在模型中以单元格形式出现:

After importing XML

这是该模型的屏幕截图,如您所见,这两个连接都存在,但是只绘制了我未移动的连接:

enter image description here

1 个答案:

答案 0 :(得分:0)

我找到了解决方案...与我过去遇到的这个问题有某种联系:MxCodec decode function not working with XML

当边缘移动时,它会创建一个mxPoints数组,由于窗口中缺少ctor,因此无法正确解码该数组。解决方案正在添加到窗口中:

window['mxPoint'] = mx.mxPoint;