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