在服务器端使用带有EJS的MEAN环境,我定义了许多部分/模板,其中一个是我的标题部分。
->join('jobs','jobs.archived','=','0')
//
->where('archived','=','0')
//
->with('jobs.archived')
//
->with('jobs')
//
->where('jobs.archived', '=', '0')
在这个标题部分中我还想包括几个方面,例如: G。登录或用户特定菜单,具体取决于用户是否登录。
//First include level (L1)
<% include ../partials/header %>
事实上,我无法读取此级别的任何变量。无论是req.user还是类似的东西都无法访问。获取该信息或将参数传递给header.ejs的任何替代方法?
答案 0 :(得分:0)
我刚刚找到了另一种方法(也是EJS - pass variable when include的解决方案)。对别人来说可能会派上用场。它不是我最喜欢的解决方案,因为我希望找到一种从内部访问变量的本地方式,而不必先将它们传递给我,所以我认为这是一种解决方法,但最终它的工作正常。
在渲染插入第一个包含(L1)的页面时,只需确保传入您希望在较低级别处理的数据,如此...
app.route('/*')
.get(function(req, res) {
res.render('pages/foo', {
login: req.user
});
});
......无论您可以介绍多少层次,都可以访问它。