Handlebars js - 无法从循环/部分访问 parent object 属性
Handlebars js - cannot access parent object properties from loop / partial
我有以下数据object:
有了这个,我可以毫无问题地使用以下循环
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");
这没有任何问题,并且通过每个数据循环我可以访问我的数据属性。然而,我想要做的是从我的循环中访问标题/ caml 字段。我尝试了以下但没有成功。
{{./title}}
{{../title}}
理想情况下,我想在我的每个循环中使用部分,然后从该部分访问 parent 节点,但这似乎也不起作用。
解决方法如下:
{{#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}}
我有以下数据object:
有了这个,我可以毫无问题地使用以下循环
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");
这没有任何问题,并且通过每个数据循环我可以访问我的数据属性。然而,我想要做的是从我的循环中访问标题/ caml 字段。我尝试了以下但没有成功。
{{./title}}
{{../title}}
理想情况下,我想在我的每个循环中使用部分,然后从该部分访问 parent 节点,但这似乎也不起作用。
解决方法如下:
{{#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}}