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

nav*_*ono 1 konvajs

我创建了一个形状对象(如konva.Rect)并希望在某些情况下重用它。

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

我检查了源代码,但对这种情况一无所知。唯一的区别是 deleteidnamein destroy(),

文件中似乎太模糊了。

destroy() 删除并销毁自己

remove() 从父级中删除 self,但不销毁

所以想知道,如果使用remove和形状的物体id,并name会留在层,是否有关于渲染或其他任何显著的影响?

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

lav*_*ton 5

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

https://konvajs.org/api/Konva.Node.html#destroy

destroy:删除并销毁一个节点。永远杀了它!在 destroy() 之后,您不应该重用节点。

https://konvajs.org/api/Konva.Node.html#remove

remove:从父级中删除 self,但不要销毁。您可以稍后重用节点。