删除Kinetic.Node:remove()或destroy()?

时间:2014-05-28 09:19:31

标签: javascript canvas kineticjs

我有一个MVC应用程序我在我的一个观点中使用KineticJS。我想知道如果我从组中删除形状或图像并最终从数据库中删除形状或图像,最好使用哪种方法。会是destroy()还是remove()

2 个答案:

答案 0 :(得分:1)

使用remove,您可以从画布中删除节点,但如果需要,可以在以后再次使用它。 通过销毁,节点被完全破坏,无法重复使用。

因此,如果要完全删除元素,请使用destroy,否则请使用remove。

答案 1 :(得分:1)

这是下面的源代码.... destroy()看起来像是调用remove()不是吗?所以基本上他们是多余的?

remove: function () {
    var c = this.getParent();
    return c && c.children && (c.children.splice(this.index, 1), c._setChildrenIndices(), delete this.parent), this._clearSelfAndDescendantCache(q), this._clearSelfAndDescendantCache(b), this._clearSelfAndDescendantCache(t), this._clearSelfAndDescendantCache(j), this._clearSelfAndDescendantCache(a), this
},
destroy: function () {
    Kinetic._removeId(this.getId()), Kinetic._removeName(this.getName(), this._id), this.remove()
},