控制EJS

时间:2017-09-12 16:53:13

标签: express ejs

我有一个条件来检查用户是否未登录,然后将类添加到td元素。 EJS看起来像这样:

        <td class="<%_ if (!currentUser) { _%>
                notSigned"
            <%_   } _%>">

呈现HTML:

                <td class="                        notSigned"
">
                    Monitor the database 
                    <div class="ui accordion">

类上有所有前导空格,括号在下一行关闭。我是EJS的新手,控制空白的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我的EJS经验非常有限,但我确实有一个想法很有趣,可以分享。

如果您向应用程序本地添加功能,则可以在模板中访问它们:

app.locals.$if = function(condition, output) {
    return condition ? output : '';
};

app.locals.$unless = function(condition, output) {
    return condition ? '' : output;
};

名称$if$unless是任意的,但希望它们足以证明这个想法。

然后你可以在你的视图中写下这样的东西:

<td class="<%=
    $unless(currentUser, 'notSigned')
%>">

我不知道你是否觉得比你已经提到的替代品更容易阅读,但我认为它读得很好。