我尝试生成一个选项集,我可以在其中选择所选的选项,但是当我在上面的示例中嵌套帮助程序时,我无法访问timeSpent
:
这是我将数据发送到我的手柄模板的方式:
{
feed : {
foodMinutes : 90,
timeSpent : 72
}
}
这是我生成我的选择选项的地方,我认为有一种类似../timeSpent
的方式来获取父数据,但它不起作用:
<select>
{{#count feed.foodMinutes 1 0}}
{{#equal ../timeSpent this}}
<option value="{{this}}" selected>{{this}} minuti</option>
{{else}}
<option value="{{this}}">{{this}} minuti</option>
{{/equal}}
{{/count}}
</select>
这些是我的助手:
Handlebars.registerHelper("count", function(count, step, start, block) {
var accum, steps, startFrom;
accum = "";
steps = step || 1;
startFrom = start || 0;
for(var i = startFrom; i < count; i += steps) {
accum += block.fn(i);
}
return accum;
});
Handlebars.registerHelper("equal", function(lvalue, rvalue, options) {
if (arguments.length < 3) {
throw new Error("Handlebars Helper equal needs 2 parameters");
}
if (lvalue != rvalue) {
return options.inverse(this);
} else {
return options.fn(this);
}
});
那么如何在Handlebars Helper范围内获取父数据呢?
答案 0 :(得分:0)
解决方案很简单,我使用../feed.timeSpent
代替../timeSpent
:
<select>
{{#count feed.foodMinutes 1 0}}
{{#equal ../feed.timeSpent this}}
<option value="{{this}}" selected>{{this}} minuti</option>
{{else}}
<option value="{{this}}">{{this}} minuti</option>
{{/equal}}
{{/count}}
</select>