有没有办法在 Handlebars 中获取当前迭代的对象?
代码:
<script id="HandleBarTemplate1" type="text/x-handlebars-template">
{{#each objArr}}
<img src="{{objField1}}"/>
<strong>Name:</strong> {{objField2}}
<input type="button" onclick="processObject({{.}});"/>
{{/each}}
</script>
我已经提到processObject({{.}})
这是不正确的。那就是我需要更换/解决方案的地方。希望你能明白我想说的话。
的内容objArr
可能看起来像
var objArr = [{objField1:"smith.jpg",objField2:"Smith"},{objField1:"jane.jpg",objField2:"Jane"},...]
模板编译代码为:
var source = document.getElementById("HandleBarTemplate1").innerHTML;
var compiledTemplate = Handlebars.compile(source);
var html = compiledTemplate({objArr:objArr});
如果我可以得到对象的引用,那么处理数据就很容易了。而不是将字段传递给函数并搜索整个数组以获取所需的对象然后处理它。
我更喜欢没有自定义块助手/自定义表达式助手的解决方案,但如果不存在,我宁愿选择自定义块助手。欢迎任何不搜索整个数组的解决方案!