我正在尝试在 Express.js 中创建一个 dynamicHelper。是否可以从 dynamicHelper 中访问 res.render 中设置的变量?特别是我希望能够访问变量“标题”。我能想到的唯一选择是将我想要的数据附加到 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
}
});
});
};