2017-06-21 74 views
0

我试图删除两个节点之间的现有连接(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() 

    } 
} 
+0

我发现,如果我把喜欢的参数对象figure.class方法this.canvas.remove(图)的作品,如果我把n对象connection.class不起作用。 – uroti

回答

0

有你Draw2D中libray想要的代码。我想你可以删除已经连接这样的连接:

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

UPDATE:

我发现了一个方法,以消除Draw2D中的任何项目。请定义命令 删除该项目。并执行它。

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

该方法不起作用,但控制台中没有错误 – uroti