【问题标题】:Remove a connection between two nodes删除两个节点之间的连接
【发布时间】:2017-06-21 19:51:29
【问题描述】:

我正在尝试删除两个节点之间的现有连接 (DragConnectionCreatePolicy)。我尝试了两种方法,第一种使用这个命令:

this.canvas.remove(connection) 但它会返回:EXCEPTION: figure.getCanvas is not a function

第二个

var cmd =  new draw2d.CommandDelete(connection);
this.canvas.getCommandStack().execute(cmd)

而是返回EXCEPTION: draw2d.CommandDelete is not a constructor

我错了什么?

我在 Angular 2 组件中使用 draw2d。

export class sampleDraw implements OnInit {


  canvas:any;

  createGraph() {

    this.canvas = new draw2d.Canvas("canvas-div");

}

ngOnInit(){
    this.createGraph()

  }
}

【问题讨论】:

  • 我注意到如果我将类似参数放入对象 figure.class 方法 this.canvas.remove(figure) 有效,如果我放入 n 对象 connection.class 不起作用。

标签: jquery angularjs raphael draw2d-js


【解决方案1】:

draw2d 库中有你想要的代码。我认为您可以像这样删除已经连接的连接:

this.canvas.lines.remove(connection);
connection.setCanvas(null);
connection.disconnect();

更新:

我找到了一种方法来删除 draw2d 中的任何项目。请定义命令 删除项目。并执行它。

let cmd = connection.createCommand(new draw2d.command.CommandType(draw2d.command.CommandType.DELETE));
if (cmd !== null) {                     
    connection.getCanvas().getCommandStack().execute(cmd);
}

【讨论】:

  • 方法无效但控制台没有错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-09
  • 2021-12-10
  • 1970-01-01
  • 2015-11-13
  • 2015-10-19
相关资源
最近更新 更多