删除 Meteor 中的动态模板事件

Removing dynamic template events in Meteor

因此,我们都知道您可以通过调用 Template.templateName.events() 并传入新事件来添加事件 post-render。我的问题是:如何删除它们?我发现我正在按照自己喜欢的方式添加它们,但我最终遇到了几个相同的事件,所有事件都发生了,并且导致了各种各样的问题。 meteor 是否有特定的地方存储实际事件?我在哪里可以清除它们?

不应多次调用模板事件,而应为该模板的每个实例都将侦听的静态事件定义使用一次。

documentation 在这里不是很有用。但是,如果您需要动态模板事件,您仍然可以使用经典的 addEventListener 或 jQuery on 并使用 bind 将它们绑定到模板实例。

不要忘记在需要时删除它们,但至少在 Template#onDestroyed

我发现 Template.templateName.__eventMaps = [] 成功了。我 运行 在创建我的模板的新实例之前这样做,因此只获得一组事件处理程序。哇!