2017-06-21 75 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