TIM*_*MEX 46 html javascript templates ejs
假设我保存了一个页脚的snipplet.如何在我当前的模板中"包含"该内容?
小智 82
我知道这个问题已被标记为已回答,但我相信你所寻找的是"部分"语法.在EJS中,您可以将一个视图模板中的内容包含在另一个视图模板中,如下所示:
<html>
<head></head>
<body>
Blah blah blah
<%- partial('footer') %>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Dan*_*Arl 46
EJS使用包含非常简单.以下是EJS README中的描述:
包含与包含include语句的模板相关,例如,如果您有"./views/users.ejs"和"./views/user/show.ejs",则使用<%include user/show%>.包含的文件字面上包含在模板中,编译后不执行IO,因此这些包含的模板可以使用局部变量.
<ul>
<% users.forEach(function(user){ %>
<% include user/show %>
<% }) %>
</ul>
Run Code Online (Sandbox Code Playgroud)
因此,在您的情况下,如果页脚与您要包含它的文件位于同一目录中,则只需添加<% include footer %>到您的文件中即可.
Jac*_*kal 18
您可以包含ejs模板
<% include includes/header.ejs %>
Run Code Online (Sandbox Code Playgroud)
小智 14
正确的语法是 <%- include('<path>', <object with extra parameters>) %>
include 是一个函数 Includes 是相对于带有 include 调用的模板的。(这需要 'filename' 选项。)例如,如果您有“./views/users.ejs”和“./views/user/show.ejs”,您将使用 <%- include('user/show') ; %>。
您可能希望在包含中使用原始输出标记 (<%-) 以避免双重转义 HTML 输出。