【发布时间】:2021-09-16 09:22:02
【问题描述】:
我正在学习 node js 并使用 pug-template 引擎创建一个简单的酒店预订登录/管理页面。
当用户登录时,索引页面应该与未登录用户不同。
我应该在我的模板中做一个条件还是在我的主路由中做一个条件来呈现 index_logged 或 index_not_logged?
目前正在做
app.get('/', (req, res) => {
User.find({}, function(err, users) {
if(err) {
console.log(err);
} else {
res.render("index", {
title: "Willkommen",
users: users
});
}
});
});
在我的 index.pug 中
extends layout
block content
if user
h1 #{title}
ul.list-group
each user, i in users
li.list-group-item
a(href="/users/"+user._id)= user.name
else
.jumbotron
h1 #{title}
a(href="/users/login").btn.btn-primary Anmelden
我目前正在使用全局用户变量。
【问题讨论】:
-
那么它在一个模板中有两个页面而不是两个页面,每个页面都在一个单独的模板中?您应该每页使用一个文件并在路由控制器中路由它们。
-
当前从我的 app.use('/' 渲染 index.pug 并在 index.pug 中执行类似 if user, render this, else render this。不确定是否有正确的方法不过,请这样做。编辑问题以使其更容易。
标签: javascript node.js pug