EJS - 包含时传递变量

nki*_*int 11 ejs

我在后端使用带有nodejs的ejs.我想在包含时传递变量.包含标题时,传递页面标题.

index.ejs:

<% include header %>
<body> . . . </body>
<% include footer%>
Run Code Online (Sandbox Code Playgroud)

header.ejs:

<html lang="en">
<head>
    <title><%- my_tytle %></title>
</head>
Run Code Online (Sandbox Code Playgroud)

footer.ejs:

</html>
Run Code Online (Sandbox Code Playgroud)

如何传入my_titleinclude命令?

小智 11

您可以在include语句中传递对象

<%- include("header",{title:"your_title"}) %>

  • 这只是包含一个硬编码到 ejs 中的“变量”,不是吗?您将如何包含来自服务器的标题?&lt;%- include("header",{title:&lt;variableName&gt;}) %&gt; 不起作用。 (3认同)

Nae*_*ikh 9

您可以my_tytle直接传递给 index.ejs,如果标题有部分视图,则标题 my_tytle应该可以访问。

例如:index.ejs:

<% include header %>
<body> . . . </body>
<% include footer%>
Run Code Online (Sandbox Code Playgroud)

头文件.ejs:

<html lang="en">
<head>
    <title><%- my_tytle %></title>
</head>
Run Code Online (Sandbox Code Playgroud)

现在从节点服务器,如果你将值传递my_tytle给 index.ejs,像这样:

res.render('template_file.js', {
        my_tytle : "Value for your title"
    });
Run Code Online (Sandbox Code Playgroud)

那么您的部分视图(即您的案例中的标题)也将能够访问该变量。