我有以下数据对象:
有了这个,我使用以下循环没有问题
Templates.Links = [
"<ul>",
"{{#each data}}",
"<li>",
"<div class='flex-item-button'>",
"<div class='info noicon'>",
"<span class='name'>{{{URL}}}</span>",
"<span class='meta'>{{URL}}</span>",
"</div>",
"<div>",
"<span class='expand expand-item-details'><i class='fa fa-sort-down'></i></span>",
"</div>",
"<div class='additional-info'>",
"</div>",
"</div>",
"</li>",
"{{/each}}",
"</ul>",
].join("\n");
这没有任何问题,并且每个数据循环都可以访问我的数据属性。我想能够做的是从我的循环中访问title / caml字段。我试过以下没有运气。
{{./title}}
{{../title}}
理想情况下,我希望在每个循环中使用partial,然后从部分访问父节点中使用,但这似乎也不起作用。
答案 0 :(得分:3)
以下是解决方案:
{{#each data}}
....
{{#with ../this}}
{{> yourPartial}}
{{/with}}
....
{{/each}}
而在你的部分内容中,只需:
{{title}}
修改强> 您应该实现自己的帮助程序,如:
Handlebars.registerHelper("withCurrentItem", function(context, options){
var contextWithCurrentItem = context;
contextWithCurrentItem.currentItem = options.hash.currentItem;
return options.fn(contextWithCurrentItem);
});
并使用它:
{{#withCurrentItem ../this currentItem=this}}
{{> yourPartial}}
{{/withCurrentItem}}