Hay*_*ers 3 handlebars.js ember.js
我有一个自定义车把帮手:
Handlebars.registerHelper('foo', function(key) {
return (key + ' bar');
});
Run Code Online (Sandbox Code Playgroud)
在我的HTML中我有:
{{foo beer}}
Run Code Online (Sandbox Code Playgroud)
结果是
<div id="ember127" class="ember-view">beer bar</div>
Run Code Online (Sandbox Code Playgroud)
如何让自己的车把助手像炭烬{{unbound beer}}一样,只生产"啤酒吧"而不需要任何额外的标记?
因此,我认为您可能会对帮助程序,模板和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>
Run Code Online (Sandbox Code Playgroud)
现在,如果你想用除div之外的其他标签来包围你的字符串(比如说一个锚标签或其他东西),那么你需要创建一个视图,设置它的模板和标签名称,然后附加该视图.
看看这个jsFiddle并查看检查器中的结果窗格,了解我正在谈论的一些示例.希望能为你解决问题.
Ember 有一个叫做帮手unbound,可以让你包裹另一个助手.因此,您可以将绑定(自动)foo帮助器转换为未绑定的帮助器
{{unbound foo beer}}
Run Code Online (Sandbox Code Playgroud)