如何将流星模板助手作为参数传递给流星事件处理程序?

用户名

这是我的问题:

在模板文件中:

<template name="button">
     <button class="btn-class">{{disp}}</button>
</template>

在js中:

Template.button.events({
    'click': function(event, templ) {
         if (this.onClick) {
             this.onClick();
         }
    }
})

在其他使用“按钮”的模板中:

<template name="buttonGroup">
     {{> button disp='button 1' onClick=onButton1Click}}
     {{> button disp='button 2' onClick=onButton2Click}}
</template>

和它的js:

Template.buttonGroup.helpers({
    onButton1Click: function() {
        console.log('button 1 is clicked');
    },
    onButton2Click: function() {
        console.log('button 1 is clicked');
    },
});

显然,这是行不通的,因为模板buttonGroup会将“ onButton1Click()”传递给按钮,而不是函数,而传递给result(返回“ undefined”)。

那么,如何使流星将辅助函数作为参数传递给子模板呢?

赛蒙特

在助手中返回函数,而不是直接将要执行的代码放入:

Template.buttonGroup.helpers({
  onButton1Click: function() {
    return function(event, template){
      console.log('button 1 is clicked');
    };
  },
  onButton2Click: function() {
    return function(event, template){
      console.log('button 1 is clicked');
    };
  }
});

Template.button.events({
  "click": function(event, template) {
    if (this.onClick) {
      this.onClick(event, template);
    }
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将参数传递给流星中的模板事件?

如何使用流星模板助手编辑Iron-Router中作为参数传递的值?

将变量传递给流星助手

如何将事件作为参数传递给JavaScript中的内联事件处理程序?

如何将参数传递给事件处理程序?

当事件处理程序是委托并且不包含该参数时,如何将参数传递给事件处理程序?

如何将模板作为参数传递给函数

将Handlebars组件输出作为参数传递给助手

传递空格键的当前值:这作为流星/火焰中新助手的参数

如何将事件和其他参数传递给点击处理程序

如何将参数传递给Vue @click事件处理程序

如何将参数传递给map函数中的事件处理程序

React 和 TypeScript:如何将参数传递给类型的事件处理程序:MouseEventHandler

如何将html作为参数传递给批处理程序?

Ember-如何将选定的选项值作为参数传递给操作处理程序

如何将方法作为回调/处理程序参数传递给函数?

流星应用程序-模板助手不返回数据时如何显示空模板

如何将道具传递给事件处理程序

如何在流星模板助手中执行事件冒泡

将参数传递给事件处理程序

将参数传递给事件处理程序

如何将参数传递给处理程序

如何将更多参数传递给UIAlertAction的处理程序?

如何在模板中使用动态参数调用流星助手

将事件处理程序作为参数传递

流星模板和模板助手

模板助手的流星火焰错误

流星:“模板助手中的异常”

Coffeescript中的流星模板助手