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

时间:2017-06-15 12:30:37

标签: json 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模型中。怎么做?

1 个答案:

答案 0 :(得分:0)

您可以根据需要为模型数据添加任意数量的属性。请确保属性名称不以下划线(“_”)开头,并且属性值是JSON可序列化的。请阅读https://gojs.net/latest/api/symbols/Model.html上的要求。

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

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