Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Handlebarsjs:如何在每个循环中获取变量?_Javascript_Loops_If Statement_Handlebars.js - Fatal编程技术网

Javascript Handlebarsjs:如何在每个循环中获取变量?

Javascript Handlebarsjs:如何在每个循环中获取变量?,javascript,loops,if-statement,handlebars.js,Javascript,Loops,If Statement,Handlebars.js,我正在尝试使用从浏览器中编译一些模板。现在,我使用each循环构建一个下拉列表,并希望选择其中一个选项。为此,我复制了一个助手,如下所示: Handlebars.registerHelper('if_eq', function(a, b, opts) { if(a == b) return opts.fn(this); else return opts.inverse(this); }); 然后,我将以下对象提供给把手: { "admin

我正在尝试使用从浏览器中编译一些模板。现在,我使用each循环构建一个下拉列表,并希望选择其中一个选项。为此,我复制了一个助手,如下所示:

Handlebars.registerHelper('if_eq', function(a, b, opts) {
    if(a == b)
        return opts.fn(this);
    else
        return opts.inverse(this);
});
然后,我将以下对象提供给把手:

{
    "adminUsers": [
        {
            "adminUsername": "user1"
        },
        {
            "adminUsername": "user2"
        },
        {
            "adminUsername": "user3"
        }
    ],
    "assignedAdminUser": "user2"
}
在我的车把模板中,我执行以下操作:

{{#each adminUsers}}
    {{#if_eq adminUsername assignedAdminUser }}
        <option selected>{{adminUsername}}</option>
    {{else}}
        <option>{{adminUsername}}</option>
    {{/if_eq}}
{{/each}}
{{#每个管理员用户}
{{{#如果{U eq adminUsername assignedAdminUser}}
{{adminUsername}}
{{else}
{{adminUsername}}
{{/if_eq}
{{/每个}}
但不幸的是,没有一个选项被选中。当我简单地填写'a'和'a'时,equal helper确实起作用,但不知何故,在#each循环中分配的管理员不可用。我可以在循环外使用{{assignedadmin}}轻松地回显它,但在循环内似乎不可用


有人知道我如何检查循环中的adminUser是否等于分配的用户,以便将该选项设置为selected吗?欢迎所有提示

每个
循环中,您处于
adminUser
对象的上下文中。这些对象没有
assignedAdminUser
属性,这就是为什么每次
if_eq
检查都失败的原因

使用


相反。

我只是在贴出答案后才注意到这一点。
{{#if_eq adminUsername ../assignedAdminUser}}