【发布时间】:2011-08-14 09:37:20
【问题描述】:
假设我保存了一个页脚的片段。如何在我当前的模板中“包含”它?
【问题讨论】:
-
你可以试试
标签: javascript html templates ejs
假设我保存了一个页脚的片段。如何在我当前的模板中“包含”它?
【问题讨论】:
标签: javascript html templates ejs
我知道这个问题已被标记为已回答,但我相信您正在寻找的是“部分”语法。在 EJS 中,您可以将一个视图模板中的内容包含在另一个视图模板中,如下所示:
<html>
<head></head>
<body>
Blah blah blah
<%- partial('footer') %>
</body>
</html>
【讨论】:
EJS 使得使用包含非常简单。以下是 EJS README 中的描述:
包含与包含语句的模板相关,例如 例如,如果您有“./views/users.ejs”和“./views/user/show.ejs” 您将使用 。包含的文件是 字面上包含在模板中,之后不执行任何 IO 编译,因此局部变量可用于这些包括 模板。
<ul>
<% users.forEach(function(user){ %>
<% include user/show %>
<% }) %>
</ul>
因此,在您的情况下,如果页脚与您要包含它的文件位于同一目录中,您只需将<% include footer %> 添加到您的文件中。
【讨论】:
<% include ../footer %> 中,此操作是否有效?
../footer。
您可以通过
包含ejs模板<% include includes/header.ejs %>
【讨论】:
<%-,因为它会插入未转义的值。
正确的语法是<%- include('<path>', <object with extra parameters>) %>
include 是一个函数 包含与包含调用的模板相关。 (这需要 'filename' 选项。)例如,如果你有 "./views/users.ejs" 和 "./views/user/show.ejs" 你会使用 。
您可能希望将原始输出标记 (
【讨论】:
在同一目录中<%- include('header'); -%>
根目录<%- include('../partials/header'); -%>
适用于 EJS v3.0.1
【讨论】:
使用以下语法可以轻松使用包含在ejs 中:
<% include filename %>
注意:文件应该在视图中。
【讨论】:
此语法 不再有效。 这个语法有效
【讨论】: