覆写复制事件不需要进行设置监听,gojs提供了一个函数 Model.copyNodeDataFunction 用来进行覆写复制事件。此事件可以被键盘事件触发,但是也可以被拖拽事件触发。从一个调色板画布拖拽到主画布上时也会触发这个事件。因此慎用。
copyNodeDataFunction函数提供了两个参数:obj和model。第一个参数即是需要复制的对象,第二个参数是画布本身的model。
函数返回的值会经过Model.copyNodeData进行重新渲染。
其中,copyNodeDataFunction只是Model的属性,而copyNodeData是Model中的函数。另请参阅gojs API:点击打开链接
对于问题本身,另请参阅我在官网上的提问:点击打开链接
回到问题,如何覆写:直接在初始化中进行设置即可。
myDiagram.model.copyNodeDataFunction = function(obj,model){
var a = {};
a.text = obj.text;
a.size = obj.size;
a.category = obj.category;
a.pos = obj.pos;
return a;
}