2016-09-01 17 views
0

說我有以下的JSON:動態Handlebars部分中的每個迭代器?

category: { 
    a_items: [], 
    b_items: [] 
} 

而且我有一個把手部分:

{{#each items}} 
    {{stuff}} 
{{/each}} 

我想要做的就是告訴局部遍歷該數組:

{{> showItems items=a_items}} 

但是,部分將嘗試迭代不存在的category.items

所以這是可能的,而無需創建一個助手?

p.s. This answer會建議不,但我無法弄清楚我的幫手會做什麼。我不想將部分的整個{{stuff}}部分轉移到助手中。

+0

我想,這應該只是罰款,而無需任何幫手。我能爲你考慮的唯一原因是你的部分調用應該是'{{> showItems items = category.a_items}}'?我創建了一個[小提琴](https://jsfiddle.net/76484/u3ftd22k/)。 – 76484

回答

0

這是我找到的解決方案。創建一個幫手:

Handlebars.registerHelper('returnKeyValue', function(obj, key, options) { 
    return options.fn(obj[key]); 
}); 

傳遞上下文的幫助:

{{#returnKeyValue this items}} 
    {{> partialThatIteratesOverItems}} 
{{/returnKeyValue}} 

我與2分不同的情況下撥打:

{{> partial items='a_items'}} 
{{> partial items='b_items'}}