删除 Meteor 中的动态模板事件
Removing dynamic template events in Meteor
因此,我们都知道您可以通过调用 Template.templateName.events()
并传入新事件来添加事件 post-render。我的问题是:如何删除它们?我发现我正在按照自己喜欢的方式添加它们,但我最终遇到了几个相同的事件,所有事件都发生了,并且导致了各种各样的问题。 meteor 是否有特定的地方存储实际事件?我在哪里可以清除它们?
不应多次调用模板事件,而应为该模板的每个实例都将侦听的静态事件定义使用一次。
documentation 在这里不是很有用。但是,如果您需要动态模板事件,您仍然可以使用经典的 addEventListener
或 jQuery on
并使用 bind
将它们绑定到模板实例。
不要忘记在需要时删除它们,但至少在 Template#onDestroyed
我发现 Template.templateName.__eventMaps = []
成功了。我 运行 在创建我的模板的新实例之前这样做,因此只获得一组事件处理程序。哇!
因此,我们都知道您可以通过调用 Template.templateName.events()
并传入新事件来添加事件 post-render。我的问题是:如何删除它们?我发现我正在按照自己喜欢的方式添加它们,但我最终遇到了几个相同的事件,所有事件都发生了,并且导致了各种各样的问题。 meteor 是否有特定的地方存储实际事件?我在哪里可以清除它们?
不应多次调用模板事件,而应为该模板的每个实例都将侦听的静态事件定义使用一次。
documentation 在这里不是很有用。但是,如果您需要动态模板事件,您仍然可以使用经典的 addEventListener
或 jQuery on
并使用 bind
将它们绑定到模板实例。
不要忘记在需要时删除它们,但至少在 Template#onDestroyed
我发现 Template.templateName.__eventMaps = []
成功了。我 运行 在创建我的模板的新实例之前这样做,因此只获得一组事件处理程序。哇!