我正在尝试重写一些用jade
编写的代码。我需要使用express-handlebars
或其他不完全改变html文件结构的东西。我的问题是:如何在新版本中传递参数,例如,下一个是user
?
使用jade
的旧版工作版:
var router = require('express').Router();
router.get('/', function(req, res) {
res.render('index', {user: req.user});
});
block content
if (user)
p You are currently logged in as #{user.username}
else
p You are currently not logged in. Please login or register...
使用handlebars
的新版本:
<div class="content"></div>
那么我应该在新的index.handlebars
文件中写一下和/或在app.js
中要更改哪些内容才能正确显示user.username
?我对此很陌生,所以我感谢任何有用的东西。
<a href="/login">Log In</a>
var router = require('express').Router();
router.get('/login', function(req, res) {
res.render('login', {user: req.user});
});
此<a>
链接在之前的index.jade
文件中有效,该文件写为
a(href="/login") Log In
为什么它不适用于新的index.handlebars
文件? (更具体地说,网址已更改为localhost:123/login
,但内容不会更改。控制台中没有错误。)
答案 0 :(得分:1)
我不确定,但试试这个
index.handlebars
<div class="content>
{{#if user}}
<p>You are currently logged in as {{username}}</p>
{{else}}
<p>You are currently not logged in. Please login or register...</p>
{{/if}}
</div>