javascript - Handlebars 部分位于部分内部

标签 javascript html node.js gulp handlebars.js

我正在构建一个网站,我希望为大多数页面(但不是全部)提供布局包装。我想做的是使用布局包装器的部分内容,然后将其他内容部分传递到此主布局中。

layout.hbs的内容

<!DOCTYPE html>
<html>
    {{> head }}
    <body>
        {{> nav}}
        {{ content }}
    </body>
</html>

然后在somefile.hbs

{{> layout myPartial.hbs}}

我正在用 gulp 撕裂我的 Handlebars 模板。

如果我将标记直接传递到 layout.hbs 中,我就可以实现此功能,但我想做的是将另一个部分文件的内容传递到布局包装器中。

{{> layout content="<div>foo</div>"}} // Renders ok

还有其他方法可以实现全局布局包装吗?

最佳答案

我能够使用 dynamic partial lookup syntax 来完成此操作.

工作解决方案

layout.hbs的内容

<!DOCTYPE html>
<html>
    {{> head }}
    <body>
        {{> nav}}
        {{> (lookup . 'partial') }}
    </body>
</html>

someFile.hbs的内容

// Allows me to hit http://w.x.y.z/someDir/someFile
{{> layout partial='someDir/_someFile'}}

someDir/_someFile.hbs的内容

// Content injected into the layout and can include nested layouts
<h1>Some content I want to render</h1>

关于javascript - Handlebars 部分位于部分内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49681560/

相关文章:

javascript - 检测页面上的两个元素是否具有相同的 ID

javascript - 将 JavaScript 传递给 Session 变量

javascript - 从页面底部滑入一个div?

javascript - 单击元素时更改背景颜色 - CSS(无 jQuery)

javascript - 如何验证两个加拿大邮政编码之间的距离

post - Node.js/Express 表单发布 req.body 不起作用

javascript - CRM Dynamics 2013 如何根据组织更改导航栏组织名称和主题

javascript - 通过javascript从iphone读取gsm号码

node.js - 如何使用 Q 库在 for 循环上应用 Promise?

javascript - 自定义聊天框滚动条始终显示在底部