如何正确设置 Ejs Partials

Posted

技术标签:

【中文标题】如何正确设置 Ejs Partials【英文标题】:How to properly set Ejs Partials 【发布时间】:2018-07-25 10:18:04 【问题描述】:

我有一个 ejs 侧边栏部分

<div class="col-3 flex-nowrap">
<nav id="sidebar">
    <!-- Sidebar Header -->
    <div class="sidebar-header text-center">
        <h1 id="notification">Notification</h1>
    </div>
    <!-- Sidebar Links -->
    <ul class="nav-list">
        <li class="active"><a href="#">Edit Profile</a></li>
        <li><a href="#">Privacy & Security</a></li>
        <li><a href="#">Payment Setting</a></li>
        <li><a href="#">Transaction History</a></li>
        <li><a href="#">Trust & Verfication</a></li>
        <li><a href="#">My Education Blog</a></li>
        <li><a href="#">Promotions</a></li>
    </ul>
    <ul id="cancel"><a><strong>Cancel Account</strong></a></ul>
</nav>

在我的 notifcation.ejs 中,我以这种方式包含该部分

<%-include("./partials/sidebar.ejs")%>

由于我想重用我的侧边栏部分,我希望侧边栏中的标题在每个页面上都是不同的。

ex:在 notification.ejs 页面中,它已经设置为在该侧边栏标题中具有通知。但在promotions.ejs 中,我希望标题改为promotions。

如何在侧边栏的每个链接中指定使用哪个侧边栏标题?

【问题讨论】:

您在渲染模板时为此使用参数。 @dutchkillsg,你的状态如何?我的回答有用吗? 【参考方案1】:

您要归档的是在部分内部传递变量。 这是指向documentation 的链接,在包含 部分中,您可以找到有关此案例的信息。

例如,您的部分可能看起来像

<!-- Sidebar Header -->
    <div class="sidebar-header text-center">
        <h1 id="notification"><%= title %></h1>
    </div>

当你使用你的部分时,你可以用变量来定义它

<%-include("./partials/sidebar.ejs",  title: title )%>

【讨论】:

以上是关于如何正确设置 Ejs Partials的主要内容,如果未能解决你的问题,请参考以下文章

为什么以下文件路径正确... ejs,nodejs

如何在 EJS 视图中使用节点模块(如 MomentJS)?

如何使用 express .node 、 mongoose 和 ejs 删除对象

如何使用 EJS 模板引擎将变量传递给内联 javascript?

在 node.js/express 中使用 EJS 显示图像

在 Javascript 逻辑中访问 EJS 变量