【问题标题】:Use custom object for linkData in in gojs when user adds a link当用户添加链接时,在 gojs 中为 linkData 使用自定义对象
【发布时间】:2019-11-27 18:08:15
【问题描述】:

类似于How to add Node data and Link data dynamically in GoJS?,但我想通过添加我的一个自定义对象来处理用户添加链接。换句话说,在设置时,我有以下内容:

   customArray: MyModel[] = getMyLinkArray();
   this.diagram.model.addLinkDataCollection(customArray)

现在,当用户要添加链接时,我想添加一个从我将提供的 MyModel 对象派生的链接。它应该以与 addLinkDataCollection 中相同的方式添加 gojs 属性。

大概这意味着我应该在某处拦截一个调用,提供我的模型对象,并告诉 gojs 使用它。但我不确定要拦截什么,如何拦截,甚至是否可能。

我可以这样做吗?

【问题讨论】:

    标签: angular gojs


    【解决方案1】:

    https://gojs.net/latest/api/symbols/LinkingTool.html#archetypeLinkData 设置为MyModel 的实例,并使用您希望所有新链接数据都具有的属性值。您可以在初始化图表时设置此项。

      $(go.Diagram, . . .,
        { . . .,
          "linkingTool.archetypeLinkData": new MyModel()
        })
    

    https://gojs.net/latest/api/symbols/GraphLinksModel.html#copyLinkDataFunction 设置为一个接受并返回MyModel 副本的函数。您需要在加载的每个新模型上进行设置。

      var m = go.Model.fromJson(...);
      m.copyLinkDataFunction = function(d) { return ...; };
      myDiagram.model = m;
    

    我确实建议将类重命名为 MyLinkModel

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多