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

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


我应该采用另一种方式访问​​全局布局包装器吗?

最佳答案

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

10-13 00:32