【问题标题】:Custom linkDataArray GoJs自定义链接DataArray GoJs
【发布时间】:2017-10-13 07:02:19
【问题描述】:

我已经定义了一个这样的 GraphLinksModel:

  $(go.GraphLinksModel,
    {
      archetypeNodeData: {},
      linkFromPortIdProperty: 'source',
      linkFromKeyProperty: 'sourceColumn',
      linkToPortIdProperty: 'destination',
      linkToKeyProperty: 'destinationColumn',
      'Changed': (e) => {
        if (e.isTransactionFinished) {
          console.log('Changed ' + this.diagram.model.toJson());
        }
      },
      nodeDataArray: this.visualOrigins,
      linkDataArray: this.relations
    });

这会产生一个输出:

 "linkDataArray": [ 
    {"source":"Record1", "sourceColumn":"field1", "destination":"Record2", 
    "destinationColumn":"fieldA"}
 ]}

可以生成此输出,但其中包含引用的 javascript 对象?像这样:

 "linkDataArray": [ 
    {"source":"Record1", 
     "sourceObjectNode": {sourceObjectReferenced},
     "sourceColumn":"field1",
     "sourceColumnObjectNode": {sourceColumnObjectNodeReferenced},
     "destination":"Record2", 
     "destinationObjectNode": {destinationObjectNodeReferenced},
     "destinationColumn":"fieldA",
     "destinationColumnNode": {destinationColumnObjectNodeReferenced}}
 ]}

这样做的目的是让链接的节点不做任何处理。

提前致谢

【问题讨论】:

  • 当然,{sourceColumnObjectNodeReferenced} 将是一个格式良好的 json。

标签: gojs


【解决方案1】:

来自 GoJS 论坛的回答:

https://forum.nwoods.com/t/insert-node-object-inside-linkdataarray/9395

“不,这不是有效的 JSON 格式文本。 另外,我认为将节点定义放在链接中没有意义。它们应该在 Model.nodeDataArray 中,以便它们可以被链接中的所有引用共享。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 2016-02-05
    相关资源
    最近更新 更多