如何在handlebars ember中定义自定义帮助器

egu*_*eys 2 html javascript node.js handlebars.js ember.js

我怎么能写一个将显示这个的余烬手柄助手:

<div value="40">text</div>
Run Code Online (Sandbox Code Playgroud)

我需要定制value和text这里.并将这些值绑定到上下文.

我的方法不太奏效:

我定义了一个帮手:

Ember.Handlebars.helper('progress-bar', function(value, options) {
    return '<div value="' + value + '">' + options.text + '</div>';
});
Run Code Online (Sandbox Code Playgroud)

然后使用它:

{{progress-bar value="50" text="this.status"}}
Run Code Online (Sandbox Code Playgroud)

在定义Handlebars助手时,如何访问传递给模板中助手的参数?

Vic*_*tor 5

由于您使用的是Ember,因此可以使用ember组件而不是普通的把手助手.

例:

 <script type="text/x-handlebars" id="index">
   {{my-component value="foo" text="bar"}}
 </script>

<script type="text/x-handlebars" id="components/my-component">
  <div {{bind-attr value="value"}}>
    {{text}}
  </div>
</script>
Run Code Online (Sandbox Code Playgroud)

使用组件的好处是你不一定需要编写任何javascript - Ember生成所有的管道代码.您可以在此处找到有关组件的更多信息:http://emberjs.com/guides/components/defining-a-component/