MXGraph:移动边缘时不会重新绘制边缘

MXGraph: edges are not redrawn when they are moved

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

我正在开发与 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);

我可以正确保存然后重新加载。

但是,如果我移动连接,如图所示:

图中没有重新绘制连接,尽管它在模型中作为单元格存在:

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

我找到了解决方案...它与我过去遇到的问题有某种关系:

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

window['mxPoint'] = mx.mxPoint;