如何使用 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 字符串的函数。
我指的是左侧调色板和右侧图表区域的应用程序类型。
例如我有以下节点模板:
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 字符串的函数。