首页 > 解决方案 > GoJs addDiagramListener SelectionMoved 使用 SelectedNode 获取数据

问题描述

我正在运行以下代码:

myDiagram.addDiagramListener("SelectionMoved", function (event) {

    console.log("SelectionMoved ...");
    // https://gojs.net/latest/api/symbols/Part.html#location // * PART

    var selectedNode = event.diagram.selection.first();
    var key = selectedNode.key;
    var coorX =  selectedNode.location.x;
    var coorY =  selectedNode.location.y;
}

当我检查元素“selectedNode”时,我看到了包含数据元素的对象道具“hb”。(见下图)。

在此处输入图像描述

我想访问对象中的一些数据字段,例如

selectNode.hb.assignedTo

使用 var selectedNode = event.diagram.selection.first(); 时如何访问这些道具 ?

解决方案 我能够使用以下代码获取数据元素:

myDiagram.addDiagramListener("SelectionMoved", function (event) {
    console.log("SelectionMoved ...");
    // https://gojs.net/latest/api/symbols/Part.html#location // * PART

    var selectedNode = event.diagram.selection.first();
    var key = selectedNode.key;
    var coorX =  selectedNode.location.x;
    var coorY =  selectedNode.location.y;

    // ****** NODE DATA ********
    var nodeData = selectedNode.data;  //node data
    var assignedTo = nodeData.assignedTo;
    var diagramGuid = nodeData.diagramId,    
}

标签: gojs

解决方案


您的代码永远不应使用缩小的属性名称。 https://gojs.net/latest/intro/index.html#DevelopingYourDiagram

使用Panel.data属性:selectNode.data.assignedTo https ://gojs.net/latest/api/symbols/Panel.html#data


推荐阅读