Javascript 为什么这个变量不能从我的express应用程序传递给jade?
我的express应用程序具有以下代码:Javascript 为什么这个变量不能从我的express应用程序传递给jade?,javascript,node.js,express,pug,Javascript,Node.js,Express,Pug,我的express应用程序具有以下代码: app.get('/dashboard', function (req, res) { Student.findOne({ email: req.session.email }).exec(function (err, studentData) { if (studentData) { console.log(studentData); res.render(
app.get('/dashboard', function (req, res) {
Student.findOne({
email: req.session.email
}).exec(function (err, studentData) {
if (studentData) {
console.log(studentData);
res.render('dashboard', {
info:{
username: studentData.username,
email: studentData.email,
roll: studentData.roll,
department: studentData.department,
regYear: studentData.regYear
}
});
} else {
res.render('index');
}
});
});
doctype html
html
head
meta(charset='UTF-8')
title I N C U B A T I O N
link(rel='stylesheet', href='/bower_components/Materialize/bin/materialize.css')
script(src='/bower_components/jquery/dist/jquery.min.js')
script(src='/bower_components/Materialize/bin/materialize.js')
link(rel='stylesheet', type='text/css', href='css/main.css')
script.
console.log(!{locals.info.username});
body
ul#slide-out.side-nav.fixed
li
.row.valign-wrapper.profile_picture
.col.s3
.col.s6
img.circle.responsive-img(src='http://1.bp.blogspot.com/_Mt4qyhflsHY/S8wCjflidQI/AAAAAAAAAhI/FiTJiysCYus/s1600/gravatar.jpg', alt='')
// notice the "circle" class
.col.s3
li
.row.valign-wrapper
p #{info.username}
a.button-collapse(href='#', data-activates='slide-out')
i.mdi-navigation-menu
我的jade模板具有以下代码:
app.get('/dashboard', function (req, res) {
Student.findOne({
email: req.session.email
}).exec(function (err, studentData) {
if (studentData) {
console.log(studentData);
res.render('dashboard', {
info:{
username: studentData.username,
email: studentData.email,
roll: studentData.roll,
department: studentData.department,
regYear: studentData.regYear
}
});
} else {
res.render('index');
}
});
});
doctype html
html
head
meta(charset='UTF-8')
title I N C U B A T I O N
link(rel='stylesheet', href='/bower_components/Materialize/bin/materialize.css')
script(src='/bower_components/jquery/dist/jquery.min.js')
script(src='/bower_components/Materialize/bin/materialize.js')
link(rel='stylesheet', type='text/css', href='css/main.css')
script.
console.log(!{locals.info.username});
body
ul#slide-out.side-nav.fixed
li
.row.valign-wrapper.profile_picture
.col.s3
.col.s6
img.circle.responsive-img(src='http://1.bp.blogspot.com/_Mt4qyhflsHY/S8wCjflidQI/AAAAAAAAAhI/FiTJiysCYus/s1600/gravatar.jpg', alt='')
// notice the "circle" class
.col.s3
li
.row.valign-wrapper
p #{info.username}
a.button-collapse(href='#', data-activates='slide-out')
i.mdi-navigation-menu
我想将变量从我的节点应用程序传递到模板,但无法传递。我做错了什么?您在express中将视图引擎设置为jade了吗
app.set('view engine', 'jade');
您不必在变量前面加上
局部变量。
在jade中。从调用render
的结构来看,似乎您正在设置info.username
,而不是locals.info.username
这意味着您应该使用
console.log(!{info.username});
不,这没用,同样的结果。是的,也一样。我尝试显式设置res.locals变量,但如果它作为第二个参数传递,则不起作用。