javascript - 对多个模板使用 1 个事件处理程序

标签 javascript meteor meteor-blaze

我一直在使用常用的 Blaze Template.events处理事件的方式。目前,我有许多跨多个模板的相同事件。

我很好奇是否有人知道一种方法来处理多个模板的事件,而不必为每个不同的模板使用多个 Template.events 调用

(您可以只编写一个事件处理程序来应用于多个模板)。

如果我切换到 Meteor-React,我认为这是可以做到的,但我现在不想这样做。

最佳答案

您可以使用这个名为meteor-body-events的包

meteor 添加 gwendall:body-events

他们的 git 页面是这样的:https://github.com/gwendall/meteor-body-events

我在之前的项目中使用过它,它按预期工作,但现在我发现该项目不再维护。我相信它仍然应该按预期工作。

来自他们的 git 页面的示例:

Template.body.events({
  "click .btn": function(e, data, tpl) {
    // e -> jquery event
    // data -> Blaze data context of the DOM element triggering the event handler
    // tpl -> the parent template instance for the target element
  }
})

所以基本上,您将事件监听器标记到正文一次,它将适用于所有模板。

关于javascript - 对多个模板使用 1 个事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47118431/

相关文章:

javascript - Bootstrap Carousel 相同图像大小(异常偏移)

javascript - Flexslider:在自定义按钮单击时移动到下一张幻灯片(有延迟)

meteor - 当用户注销时,内部带有图标的 {{#if currentUser}} 仍然呈现

javascript - 最初加载时 C3 图表尺寸太大

javascript - PHP 变量值传递给 DatePicker Javascript

node.js - 在nodejs和meteor之间共享mongodb

meteor - 从服务器方法中抛出 Meteor.Error 会导致脚本退出

javascript - Meteor 不呈现 css 并在使用外部 DDP Meteor 实例时不断重新加载应用程序

javascript - Meteor.js 中 UI.dynamic 模板的助手

javascript - 单击按钮时 meteor 显示/隐藏元素