Javascript 具有元素属性的把手插值?

Javascript 具有元素属性的把手插值?,javascript,ember.js,handlebars.js,Javascript,Ember.js,Handlebars.js,我有model,它(除其他字段外)有id字段。主要问题是如何执行以下操作:其中表tripes定义为: Ember.Handlebars.helper('tableStripes', function(index) { return (index % 2) ? "even" : "odd"; }); 更有趣的(对我来说)是浏览器中的最终结果: <tr class="<script id='metamorph-10-start' type='text/x-placeholder

我有
model
,它(除其他字段外)有
id
字段。主要问题是如何执行以下操作:
其中
表tripes
定义为:

Ember.Handlebars.helper('tableStripes', function(index) {
    return (index % 2) ? "even" : "odd";
});
更有趣的(对我来说)是浏览器中的最终结果:

<tr class="<script id='metamorph-10-start' type='text/x-placeholder'></script>even<script id='metamorph-10-end' type='text/x-placeholder'></script>">


从哪里来的?正如我所看到的,帮助程序返回了良好的结果(“在脚本标记之间为偶数”)

如果不希望将变形直接注入类中,则需要
解除绑定。不过有一个警告,如果您正在更改数据,unbound将不会更新,您需要考虑下面的其他可能性

<tr class="{{unbound tableStripes id}}">


您还可以模拟helper
bind attr
的工作方式:

Ember.handlebar.helper
Ember.handlebar.registerBoundHelper
相同,谢谢。我是新的余烬(和车把)你能解释什么是变质?顺便说一句,我还尝试了以下方式使用bind attr:我想我做得不对。是的,Ember用变质脚本标记包装绑定属性,这样它就可以在dom中找到并替换单个属性,而无需重新绘制整个dom。所以他们基本上是占位符。当您使用unbound时,它不会注入那些占位符,因为您告诉它我不打算更新这些属性,所以不需要跟踪它们在dom中的位置。我给出了
bind attr
作为一个代码示例,您可以复制这些代码供自己使用,bind attr不支持将helpers作为参数之一传入。