Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js:EJS 2级包含参数_Javascript_Node.js_Ejs - Fatal编程技术网

Javascript Node.js:EJS 2级包含参数

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) { %>

在服务器端使用EJS的MEAN环境中,我定义了许多部分/模板,其中一个是我的header部分

//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
   });
});
。。。无论你引入多少层包容,它都是可访问的