我有一个自定义车把帮手:
Handlebars.registerHelper('foo', function(key) {
return (key + ' bar');
});
在我的HTML中我有:
{{foo beer}}
结果是
<div id="ember127" class="ember-view">beer bar</div>
如何让我自己的车把助手像炭烬{{unbound beer}}一样,只是生产“啤酒吧”而不需要任何额外的标记?
答案 0 :(得分:5)
因此,我认为您可能会对帮助程序,模板和Ember视图的工作方式感到困惑。您创建的标记是预期的,并且是您使用工作的未绑定帮助程序获得的确切标记。
Ember.Handlebars模板总是放在Ember视图对象中(如上所示)。普通绑定助手会产生的东西是:
<div id="ember127" class="ember-view">
<script id="metamorph-1-start" type="text/x-placeholder"></script>
beer bar
<script id="metamorph-1-end" type="text/x-placeholder"></script>
</div>
现在,如果你想用除div之外的其他标签来包围你的字符串(比如说一个锚标签或其他东西),那么你需要创建一个视图,设置它的模板和标签名称,然后附加该视图。
查看this jsFiddle并查看检查器中的结果窗格,了解我正在谈论的一些示例。希望能为你解决问题。
答案 1 :(得分:5)
Ember has a helper called unbound
,可让你包装另一个助手。因此,您可以将绑定(自动)foo
帮助器转换为未绑定的帮助器
{{unbound foo beer}}