我们如何检查Jade中是否存在块,我正在尝试在Jade中创建一个模板,其中我在layout.jade中有以下块,在login.jade中我扩展了layout.jade。现在,在account.jade中,我将同时拥有左侧和主要内容块
extend layout.jade
div(class='col-md-4')
block leftcontainer
div(class='col-md-8')
block content
现在在login.jade中我想隐藏
div(class='col-md-4')
block leftcontainer
并使主要内容整页,如果leftcontainer不在那里。看起来应该是这样的
div(class='col-md-12')
block content
如果用户在某个页面上,我想要隐藏左列块。如果用户在登录页面,那么
答案 0 :(得分:1)
如果我做对了,如果用户(例如登录到您应用的用户)在某个页面上,您就不会隐藏阻止。如果这是对的,请执行以下操作:
// server
app.get('/login', function(req, res){
if(req.isAuthenticated()) {
res.render('login', { 'user' : req.user } );
} else {
res.render('login', { 'user' : null } );
}
});
// layout
extend layout.jade
if user !== null
div(class='col-md-12')
block content
else
div(class='col-md-4')
block leftcontainer
div(class='col-md-8')
block content
一般情况下,您可以在Jade中使用其他条件语句,而不使用Passport,这只是一个示例。您可能需要查看reference,尤其是在条件或案例下。