konvajs中的`destroy`和`remove`有什么区别

时间:2018-07-02 09:02:43

标签: konvajs

我已经创建了一个形状对象(例如konva.Rect),并想在某些情况下重复使用它。

首先,将其添加到图层,一切都很好,例如拖动,移动.etc。然后通过触发事件将其destroy从图层中移出,并在某个时间点使用layer.add(rectObj)将其添加回图层中,形状损失了一些 属性,例如拖动,但使用remove不会。

我检查了源代码,但对这种情况一无所知。唯一的区别是删除id中的namedestroy()

文档似乎太含糊了。

  

destroy()   删除并摧毁自己

     

删除()   从父母中移除自我,但不要破坏

因此想知道是否使用remove和形状对象idname仍会保留在图层中,对渲染或其他是否有重大影响?

如果使用destroy,如何使其像首先添加到图层一样工作?

1 个答案:

答案 0 :(得分:2)

我更新了文档。我希望现在更加清楚:

  

破坏::删除并销毁节点。永远杀死它!您不应该在destroy()之后重用节点。

     

删除::将自己从父母中删除,但不要破坏。您可以稍后重用节点。