无法访问 EJS 模板中的 include partials 中的对象
Unable to access an object in include partials in EJS template
我正在尝试将对象发送到旁边的菜单,该菜单存在于我的应用程序的所有 EJS 模板中。
大约有 10 个 EJS 模板由 10 个路由器端点呈现。典型端点如下所示:
router.get( "/example", ( req, res ) => {
res.render( "../views/example.ejs" );
} );
在所有模板中,我有 3 个 include
部分:header, footer and aside menu
.
典型模板如下所示:
<%- include ("./partials/header") %>
// some body content
<%- include ("./partials/asidemenu") %>
<%- include ("./partials/footer") %>
我在文件系统中有这个数组,它由我需要在 asidemenu
模板中传递的数据对象组成。
到目前为止我尝试了什么:
我在端点中获取数据并将其作为第二个参数放入res.render
:
{ data: data }
我可以使用 <%= data %>
访问相应 EJS 模板中的数据,我将 include
partials 作为第二个参数:
<%- include ("./partials/asidemenu", { data: <%= data %> }) %>
.
然后在 asidemenu.ejs
中,我尝试以 <%= data %>
访问数据,但我得到 data is undefined
.
我做错了什么?
将数据变量传递给 include 时需要删除插值标记。
<%- include("./partials/asidemenu", { data: data }) %>
我正在尝试将对象发送到旁边的菜单,该菜单存在于我的应用程序的所有 EJS 模板中。
大约有 10 个 EJS 模板由 10 个路由器端点呈现。典型端点如下所示:
router.get( "/example", ( req, res ) => {
res.render( "../views/example.ejs" );
} );
在所有模板中,我有 3 个 include
部分:header, footer and aside menu
.
典型模板如下所示:
<%- include ("./partials/header") %>
// some body content
<%- include ("./partials/asidemenu") %>
<%- include ("./partials/footer") %>
我在文件系统中有这个数组,它由我需要在 asidemenu
模板中传递的数据对象组成。
到目前为止我尝试了什么:
我在端点中获取数据并将其作为第二个参数放入res.render
:
{ data: data }
我可以使用 <%= data %>
访问相应 EJS 模板中的数据,我将 include
partials 作为第二个参数:
<%- include ("./partials/asidemenu", { data: <%= data %> }) %>
.
然后在 asidemenu.ejs
中,我尝试以 <%= data %>
访问数据,但我得到 data is undefined
.
我做错了什么?
将数据变量传递给 include 时需要删除插值标记。
<%- include("./partials/asidemenu", { data: data }) %>