我什么时候需要在组件中调用removeEventListener?

时间:2016-11-25 09:19:57

标签: aframe

文档提到我可以使用组件的remove函数来删除我添加的eventlisteners。我是否一直需要这个?或者删除实体后删除事件?

我知道我需要删除我在其他实体上添加的事件。但是,如果组件将click事件添加到其实体。删除实体后,是否会删除该click事件?或者这会导致内存泄漏吗?

干杯

彼得

1 个答案:

答案 0 :(得分:1)

这里要考虑三个案例:

  1. 如果DOM元素(如A-Frame的from sklearn.metrics.pairwise import cosine_similarity from sklearn.feature_extraction.text import CountVectorizer text_data = load_function(...) count_vect = CountVectorizer() X_train_counts = count_vect.fit_transform(text_data) similarities = cosine_similarity(X_train_counts) percent_sim = similarities * 100 )被分离,并且您没有在任何地方存储变量中的元素的引用,那么您不需要取消绑定您的事件听众 - the listeners are cleaned up automatically

  2. 如果您要存储元素以便稍后重新附加,那么您可能希望删除<a-entity/>中的侦听器,以便下次remove()运行时,您无法启动接收重复事件。

  3. 最后一种情况,也许是最重要的一种情况,即如果您的组件将侦听器绑定到自己以外的元素(init()canvasdocument,例如)那么你肯定想要清理你的监听器,这样你的回调就不会为场景中不再存在的组件触发。