我正在尝试在Express.js中创建dynamicHelper。是否可以从dynamicHelper中访问res.render中设置的变量?特别是我希望能够访问变量'title'。我能想到的唯一选择是将我想要的数据附加到req或res对象,并从dynamicHelper中以这种方式访问它。但是,我想知道它是否已经可以通过其他方式访问?
以下代码显示了res.render()的当前结构。由于变量'title'是基于数据库调用的结果构建的,因此可以同样问一个如何从dynamicHelper中访问数据库查询结果的问题?
exports.viewContact = function(req, res) {
var id = req.params.id;
// Get document from DB.
var Contact = mongoose.model('Contact');
Contact.findOne({ _id: id}, function(err, results) {
var breadcrumb = theme.breadcrumb({ path: url.parse(req.url).path, title: results.surname + ', ' + results.given_name });
res.render('viewContact', {
locals: {
title: results.surname + ', ' + results.given_name,
surname: results.surname,
givenName: results.given_name,
org: results.org,
phones: results.phone,
emails: results.email,
addresses: results.address,
breadcrumb: breadcrumb
}
});
});
};
答案 0 :(得分:0)
不,不可能在其他功能中访问局部变量。