If statement 如果在每个循环中使用手柄与父变量进行比较

If statement 如果在每个循环中使用手柄与父变量进行比较,if-statement,comparison,handlebars.js,each,parent,If Statement,Comparison,Handlebars.js,Each,Parent,问题是在JSFIDLE上设置的: 给定… 传递到模板的数据为: { "curr_level": 0, "levels" : [item1, item2, item3 ...] } 车把模板为: <div> {{#each levels}} {{../curr_level}} == {{@index}} {{#ifeq ../../curr_level @index}}yes{{else}}no{{/ifeq

问题是在JSFIDLE上设置的:

给定…

传递到模板的数据为:

{
    "curr_level": 0,
    "levels" : [item1, item2, item3 ...]
}
车把模板为:

<div>
    {{#each levels}}

            {{../curr_level}} == {{@index}}

            {{#ifeq ../../curr_level @index}}yes{{else}}no{{/ifeq}}

    {{/each}}
</div>
问题是:

使用../works访问父curr_级别变量可将值打印到屏幕上,但当curr_级别变量发送给帮助器时,该变量未定义。我尝试过向助手传递不同的深度,例如curr\u级别、../curr\u级别、../curr\u级别等

对于所有深度,辅助对象中的“val1”未定义。同样,当curr_level变量不使用比较助手时,我可以访问它

注意:这与询问家长的问题类似,但与此非常不同。主要区别在于我试图将父变量传递给助手函数:
{{{ifeq../curr\u level@index}}
应该可以正常工作<代码>{{{ifeq../curr_level@index}}应该可以正常工作。
Handlebars.registerHelper('ifeq', function(val1, val2, options) {
    console.log("if equal", val1, typeof(val1), val2, typeof(val2));
    if (val1 == val2){
        return options.fn(this);
    }
    return options.inverse(this);
});