If statement 把手#如果不在内部工作#用于每个

If statement 把手#如果不在内部工作#用于每个,if-statement,foreach,handlebars.js,helper,If Statement,Foreach,Handlebars.js,Helper,我需要呈现一个表,与链接,将显示,如果用户有管理员权限。我有一个#forEach,里面有一个{{#if isAdmin}。isAdmin是一个助手,目前只返回true或false。如果我渲染{isAdmin},它会正确地显示值(true,false),但是如果我尝试使用{{If}对其求值,则不会发生任何事情。我的代码: Nodejs自定义帮助程序: var hbs = handlebars.create({ partialsDir: [ 'view/par

我需要呈现一个表,与链接,将显示,如果用户有管理员权限。我有一个#forEach,里面有一个{{#if isAdmin}。isAdmin是一个助手,目前只返回true或false。如果我渲染{isAdmin},它会正确地显示值(true,false),但是如果我尝试使用{{If}对其求值,则不会发生任何事情。我的代码:

Nodejs自定义帮助程序:

var hbs = handlebars.create({
        partialsDir: [
            'view/partials/'
        ],
        helpers:{
            isAdmin: function(){
                return true;
            }
        }
    });
HTML-车把

{{#forEach eventData}}      
<tr>
    <td>{{@index}}</td>
    <td>{{general_name}}</td>
    <td>{{general_description}}</td>
    <td>
        <a href="/view/{{_id}}">View</a>            
        {{#if isAdmin}}
        <a href="/versions/{{_id}}">Details & Changes</a>
        {{/if}}
    </td>
</tr>    
{{/forEach}}  
{{{#forEach eventData}
{{@index}}
{{general_name}}
{{一般描述}
{{{#如果是isAdmin}
{{/if}
{{/forEach}}

“详细信息和更改”链接从未显示。有什么想法吗?

我发现我可以使用以下语法访问forEach之外的变量:

{{../foo}} or {{#myhelper ../myfoo}}
助手

h.registerHelper('isAdmin', function(username, options) {
  var admins = 'admin';
    if(admins.includes (username)) {
        return options.fn(this);
    }else{
        return options.inverse(this);  
    }
});


h.registerHelper('isCreator', function(logged_in, created_by, options) {
    if(logged_in == created_by) {
        return options.fn(this);
    }else{
        return options.inverse(this);  
    }
});
车把

{{#forEach eventData}}      
    <tr>
        <td>{{@index}}</td>
        <td>{{general_name}}</td>
        <td>{{general_description}}</td>
        <td>{{submited_by}}</td>
        <td>{{general_setup_by}} | {{general_register_by}}</td>    
        <td>{{general_time_start}} | {{general_time_end}}</td>    
        <td>{{layout_room}}</td>        
        {{#isAdmin ../username}}
            <td><a href="/versions/{{id}}">Details & Changes</a></td>    
        {{else}}
        {{#isCreator ../username updated_by}}            
            <td><a href="/event/{{id}}">Edit</a></td>
            {{else}}
            <td><a href="/view/{{id}}">View</a></td>
        {{/isCreator}}
        {{/isAdmin}}
    </tr>    
{{/forEach}}    
{{{#forEach eventData}
{{@index}}
{{general_name}}
{{一般描述}
{{提交人}
{{general_setup_by}}{{general_register_by}}
{{general_time_start}}{{{general_time_end}}
{{layout_room}}
{{{#isAdmin../username}
{{else}
{{{isCreator../username由}更新{u}
{{else}
{{/isCreator}
{{/isAdmin}}
{{/forEach}}