Express EJS中的空白控制
我有一个条件来检查用户是否未登录,然后向td元素添加一个类。 EJS如下所示:Express EJS中的空白控制,express,ejs,Express,Ejs,我有一个条件来检查用户是否未登录,然后向td元素添加一个类。 EJS如下所示: <td class="<%_ if (!currentUser) { _%> notSigned" <%_ } _%>"> 监视数据库 班上有所有领先的whiespace,括号在下一行结束。我是EJS新手,控制空白的最好方法是什么 我的EJS经验非常有限,但我确实有一个想法,我觉得很有趣,可以分享 如
<td class="<%_ if (!currentUser) { _%>
notSigned"
<%_ } _%>">
监视数据库
班上有所有领先的whiespace,括号在下一行结束。我是EJS新手,控制空白的最好方法是什么 我的EJS经验非常有限,但我确实有一个想法,我觉得很有趣,可以分享 如果向应用程序中添加函数,则可以在模板中访问这些函数:
app.locals.$if = function(condition, output) {
return condition ? output : '';
};
app.locals.$unless = function(condition, output) {
return condition ? '' : output;
};
名称$if
和$except
是任意的,但希望它们能很好地证明这个想法
然后,您可以在自己的视图中编写类似的内容:
<td class="<%=
$unless(currentUser, 'notSigned')
%>">
我不知道你是否觉得这比你已经提到的备选方案更容易阅读,但我认为它读起来相当不错。我的EJS经验非常有限,但我确实有一个想法,我认为非常有趣,可以与大家分享 如果向应用程序中添加函数,则可以在模板中访问这些函数:
app.locals.$if = function(condition, output) {
return condition ? output : '';
};
app.locals.$unless = function(condition, output) {
return condition ? '' : output;
};
名称$if
和$except
是任意的,但希望它们能很好地证明这个想法
然后,您可以在自己的视图中编写类似的内容:
<td class="<%=
$unless(currentUser, 'notSigned')
%>">
我不知道你是否觉得它比你已经提到的其他方法更容易阅读,但我认为它读起来相当不错。使用像
currentUser这样的三元运算符怎么样?“”:'没有在一行中签名“
?是的,我实际上在许多模板中都是这样做的,在一行中编写if语句也是这样:
我希望有一些方法可以控制多行EJB的空白,因为它更容易阅读。这并不能完全解决这个问题,但是app.set('view options',{rmWhitespace:true})代码>将删除大量空间。我认为这更像是一个缩小的过程,因此它不一定能使读取生成的HTML变得更容易。使用三元运算符(如currentUser?“”:’)怎么样没有在一行中签名“
?是的,我实际上在许多模板中都是这样做的,在一行中编写if语句也是这样:
我希望有一些方法可以控制多行EJB的空白,因为它更容易阅读。这并不能完全解决这个问题,但是app.set('view options',{rmWhitespace:true})代码>将删除大量空间。我认为这更像是一个缩小的过程,所以它不一定能让阅读生成的HTML变得更容易。