如何在HTMLBars中编写助手?

Sis*_*sir 6 javascript handlebars.js ember.js handlebarshelper htmlbars

在最新发布的EmberJS之后,v1.9.0我试图从Handlebars转移到HTMLbars.我发现非常具有挑战性的是缺乏文档.

我正在尝试实现非常简单的帮助器.

例如,拿这个把手帮手:

HTML

<div id="main"></div>

<script type="text/x-handlebars" data-template-name="index">
    {{logIt test}}
    <h1>{{test}}</h1>
</script>
Run Code Online (Sandbox Code Playgroud)

JS

App = Ember.Application.create({
    rootElement: '#main'
});

    App.IndexRoute = Ember.Route.extend({
        setupController: function(controller){
            controller.set('test', 'mytest');
        }
    });

    Ember.Handlebars.registerHelper("logIt", function(something) {
        console.log(something);
    });
Run Code Online (Sandbox Code Playgroud)

Js Fiddle:http://jsfiddle.net/sisir/p463q2L8/

如何将其转换为htmlbars?

kmi*_*iro 4

从 Ember 1.13 开始,有两个 API:http://emberjs.com/blog/2015/06/12/ember-1-13-0-released.html#toc_new-ember-js-helper-api

现在最简单和更常见的语法是这样的:

export default Ember.Helper.helper(function(params, hash) {
  return params.join(' ');
});
Run Code Online (Sandbox Code Playgroud)

助手接收两个参数:params 是传递给助手的有序参数,hash 包含键值选项,例如 title="Mr."。