Javascript Meteor:将通用模板函数放在何处(最佳实践)

Javascript Meteor:将通用模板函数放在何处(最佳实践),javascript,meteor,Javascript,Meteor,我应该将特定模板的常用函数放在哪里 例如,从模板中的不同事件调用的函数 即使我不想像{foo}那样调用模板中的函数,这仍然被视为一个助手吗?如果这些函数使用的是底层模板实例属性和方法,您可以将它们附加到实例,下面是一个简单的新闻稿订阅表单示例: HTML 如果它们不使用任何特定于模板实例的属性,则只需将它们声明为文件范围的函数: function commonFunc(){ } 如果这些函数不打算用作助手,我认为没有必要将它们声明为助手。谢谢,这似乎是一个好方法。我认为将他们宣布为助手只会导致

我应该将特定模板的常用函数放在哪里

例如,从模板中的不同事件调用的函数


即使我不想像{foo}那样调用模板中的函数,这仍然被视为一个助手吗?

如果这些函数使用的是底层模板实例属性和方法,您可以将它们附加到实例,下面是一个简单的新闻稿订阅表单示例:

HTML

如果它们不使用任何特定于模板实例的属性,则只需将它们声明为文件范围的函数:

function commonFunc(){
}

如果这些函数不打算用作助手,我认为没有必要将它们声明为助手。

谢谢,这似乎是一个好方法。我认为将他们宣布为助手只会导致混乱。编辑我的答案以使用真实案例。
Template.newsletterForm.created=function(){
  this.alertClass=new ReactiveVar("alert-primary");
  this.alertText=new ReactiveVar("Subscribe to our newsletter, we'll send you the best links each week !");
  //
  this.subscribeSuccess=function(){
    this.alertClass.set("alert-success");
    this.alertText.set("Thanks for subscribing !");
  };
  this.subscribeFailure=function(){
    this.alertClass.set("alert-warning");
    this.alertText.set("Could't subscribe you to the newsletter, please double-check your email address !");
  };
};

Template.newsletterForm.helpers({
  alertClass:function(){
    return Template.instance().alertClass.get();
  },
  alertText:function(){
    return Template.instance().alertText.get();
  }
});

Template.newsletterForm.events({
  "submit":function(event,template){
    event.preventDefault();
    //
    var address=template.$("[type='email']").val();
    Meteor.call("newsletterSubscribe",address,function(error,result){
      if(error){
        template.subscribeFailure();
        return;
      }
      template.subscribeSuccess();
      template.find("form").reset();
    });
  }
});
function commonFunc(){
}