把手部分局部内侧

时间:2018-04-05 21:09:09

标签: javascript html node.js gulp handlebars.js

我建立了一个网站,我想为大多数网页(但不是全部)设置一个布局包装器。我尝试做的是使用部分布局包装器,然后将其他内容部分传递到此主布局。

layout.hbs

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

然后在somefile.hbs

{{> layout myPartial.hbs}}

我用gulp撕下我的把手模板。

如果我将标记直接传递到layout.hbs,我可以使用它,但我想要做的是将另一个部分文件的内容传递给布局包装器。

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

我是否应该采用另一种方式来接近全局布局包装?

1 个答案:

答案 0 :(得分:1)

我能够使用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>