如何使用 GoJS 将新的 属性 添加到将保存到 Json 图表模型的节点模板?

How to add new property to node template that will be saved to Json diagram model using GoJS?

我指的是左侧调色板和右侧图表区域的应用程序类型。

例如我有以下节点模板:

var inputTemplate =
    $(go.Node, "Spot",
    nodeStyle(),
    $(go.Shape, "Circle", shapeStyle1(),
        { fill: red }),  // override the default fill (from shapeStyle1()) to be red
    $(go.Shape, "Rectangle", portStyle(false),  // the only port
        { portId: "", alignment: new go.Spot(1, 0.5) }),
    {
        doubleClick: function (e, obj) {
            window.open("http://www.microsoft.com", "_blank");
    }}
    );

并且想要在节点级别添加 Guid 属性,当我们使用 toJson 函数保存图表时,它将出现在 Json 模型中。怎么做?

您可以向模型数据添加任意数量的属性。只需确保 属性 名称不以下划线 ("_") 开头,并且 属性 值是 JSON 可序列化的。在 https://gojs.net/latest/api/symbols/Model.html.

阅读要求

如果您想使用 GUID 作为键值,请首先确保您现有的所有节点数据都具有唯一的 GUID 字符串值。并将 Model.makeUniqueKeyFunction 设置为 returns 新 GUID 字符串的函数。

这是 https://forum.nwoods.com/t/how-to-add-new-property-to-node-template-that-will-be-saved-to-json-diagram-model/8726 的副本。