Ember.js Ember CLI中的Handlebar helper语法

Ember.js Ember CLI中的Handlebar helper语法,ember.js,handlebars.js,ember-cli,Ember.js,Handlebars.js,Ember Cli,在这个岗位上 展示了一个“重复”助手的示例 助手 Handlebars.registerHelper('times', function(n, block) { var accum = ''; for(var i = 0; i < n; ++i) accum += block.fn(i); return accum; }); 所以,无需注册,无需设置名称。。。我只是在语法上找不到清晰的文档。:/(我试了20刀左右……) 或者我应该制作一个组件来

在这个岗位上

展示了一个“重复”助手的示例


助手

Handlebars.registerHelper('times', function(n, block) {
    var accum = '';
    for(var i = 0; i < n; ++i)
        accum += block.fn(i);
    return accum;
});

所以,无需注册,无需设置名称。。。我只是在语法上找不到清晰的文档。:/(我试了20刀左右……)


或者我应该制作一个组件来代替?正如这里所建议的:

@Kalman是正确的,您不能用块表示法注册绑定帮助器,因此在本例中,我建议使用注释中的组件

但是,对于那些可能已发现此问题但仍希望在ember cli中创建Handlebar帮助程序的用户,您需要使用makeBoundHelper函数

例如,下面是我使用的当前日期帮助程序:

//app/helpers/current-date.js
从“余烬”导入余烬;
导出默认的Ember.handlebar.makeBoundHelper(函数(){
return moments().format('LL');//使用矩格式'LL'
});
然后,在车把模板中,可以使用以下内容:

{{current-date}}

这会产生一个像2015年3月5日这样的日期。我最近回答了一个类似的问题-
import Ember from 'ember';

export function repeatTimes(input) {
  return input;
}

export default Ember.Handlebars.makeBoundHelper(repeatTimes);
{{current-date}}