Javascript Node.js:EJS 2级包含参数
在服务器端使用EJS的MEAN环境中,我定义了许多部分/模板,其中一个是我的header部分Javascript Node.js:EJS 2级包含参数,javascript,node.js,ejs,Javascript,Node.js,Ejs,在服务器端使用EJS的MEAN环境中,我定义了许多部分/模板,其中一个是我的header部分 //First include level (L1) <% include ../partials/header %> //第一个包含级别(L1) 在这个标题部分,我还想包括几个方面,例如。G登录或用户特定菜单,取决于用户是否登录 //Second include level (L2) //Inside header.ejs <% if (req.user) { %>
//First include level (L1)
<% include ../partials/header %>
//第一个包含级别(L1)
在这个标题部分,我还想包括几个方面,例如。G登录或用户特定菜单,取决于用户是否登录
//Second include level (L2)
//Inside header.ejs
<% if (req.user) { %> //---> req.user undefined
<% include ../partials/login %>
<% } else { %>
<% include ../partials/usermenu %>
<% } %>
//第二个包含级别(L2)
//内部header.ejs
//--->req.user未定义
事实上,我无法读取这个级别上的任何变量。无法访问req.user或任何类似内容。是否有其他方法可以获取该信息或将参数传递到header.ejs?我刚刚找到了另一种方法(也是:)的解决方案。可能对其他人有用。这不是我最喜欢的解决方案,因为我希望找到一种从内部访问变量的原生方式,而不必首先传递它们,所以我认为这是一种解决方法,但最终它工作得很好。 当呈现插入第一个include(L1)的页面时,只需确保传入您希望在较低级别上处理的数据,如下所示
app.route('/*')
.get(function(req, res) {
res.render('pages/foo', {
login: req.user
});
});
。。。无论你引入多少层包容,它都是可访问的