我如何将全局模板助手放在 Meteor 中?

How can I put global template helpers together in Meteor?

我有几个全局模板助手

Template.registerHelper("termSuffix",function(){});

Template.registerHelper("subjects",function(){});

Template.registerHelper("date",function(){});
...

我试过了(比如 normal/local 模板助手)

Template.registerHelper({
      termSuffix:function(){},
      subjects:function(){},
      date:function(){}
});

但它抛出 Exception from Tracker recompute function:Error: No such function: termSuffix

全局助手不支持此语法。 Docs Code

如果您认为对库的更改足够引人注目,您可以提交拉取请求。

同时,您可以用自己的函数包装 Template.registerHelper 函数:

function registerGlobalHelpers(helpers){
    _.chain(helpers)
     .each( (fn, name) => { Template.registerHelper(name, fn); })
     .value();
  }

或在 underscorejs 中没有 chaining 定义:

function registerGlobalHelpers(helpers){
  _.each(helpers, (fn, name) => { Template.registerHelper(name, fn); });
  }

然后像这样使用它:

registerGlobalHelpers({
      termSuffix:function(){},
      subjects:function(){},
      date:function(){}
})