【问题标题】:Template.beforeDestroy hook Spacebars/MeteorTemplate.beforeDestroy hook Spacebars/Meteor
【发布时间】:2014-08-11 21:08:44
【问题描述】:

有什么方法可以在模板从 DOM 中移除之前触发钩子?

由于无法在 DOM 元素被销毁之前销毁我的 mCustomScrollbars,导致内存泄漏。

【问题讨论】:

  • 为什么不能在destroy回调中销毁呢?在模板实例中附加对您的mCustomScrollbars 的引用,在销毁回调中您可以使用this 来引用您的模板实例。
  • 我正在这样做,但事实证明 $(selector).mCustomScrollbar("destroy") 仅在元素仍在 DOM 中时才有效。如果您尝试在已删除的选择器上使用它,则会导致内存泄漏。我在github 上发布了一些关于它的内容(向下滚动查看内存泄漏)。
  • 抱歉,我不是这个意思。在创建的回调中,执行this.mCustomScrollbars = something-that-gives-you-a-reference-to-what-you-need 之类的操作,在销毁的回调中,使用this.mCustomScrollbars 进行清理。但是 Jeremy S.s 的解决方案可能会更好。
  • 哇哦,是的,这很简单,我应该这样做......

标签: meteor spacebars


【解决方案1】:

现在没有。

但这是在 0.8.2 中引入的,应该在任何一天发布。查看它的发行说明> here <,在“Blaze”部分下有insertElementremoveElementmoveElement 的挂钩。

看起来术语在 1.0 之前可能会不断变化。

【讨论】:

  • 谢谢杰里米!我将等待几天发布... 0.8.2 也是使制作 DOM 动画变得微不足道的更新,正确吗?
  • 这是它的主要目的(与解决内存泄漏相反,这可能是一个有价值的副作用)。希望也能包含一些文档和示例。
猜你喜欢
  • 2012-10-15
  • 2015-11-14
  • 2016-05-07
  • 2015-06-22
  • 2014-06-18
  • 2015-06-01
  • 2014-07-06
  • 2014-09-04
  • 1970-01-01
相关资源
最近更新 更多