我只需要几天时间学习assemble,我正尝试使用部分内容创建目录。
toc.hbs
<ul >
{{#each pages }}
<li>
<a href ="{{assets }}/{{basename }}.html" >{{data.title }}</a >
</li >
{{/each }}
</ul >
layout.hbs
<div class="row">
<div class="col-sm-3">
{{> toc}}
</div>
<div class="col-sm-9">
{{> body}}
</div>
</div>
除非我想设置class =&#34; active&#34;在当前页面上。
问:有没有办法使用assemble&amp; amp;的内置功能轻松完成此操作车把?我是否需要使用ifCond之类的帮助程序?
答案 0 :(得分:1)
您可以使用{{#is}}
和{{/is}}
块有条件地添加样式。
<li {{#is title "Features"}}class="active"{{/is}}>
<a href="features.html">Features</a>
</li>
如果你认为标题不够稳定,你可以在basename
或其他字段进行比较。
答案 1 :(得分:0)
经过一段时间的游戏,我终于发现了{{debug}}
帮助器,它将整个上下文输出到控制台。从这里我发现有一个未记录的属性isCurrentPage
,当页面是当前正在处理的页面时返回true
。
<强>结果:强>
<ul >
{{#each pages }}
<li {{#if isCurrentPage}}class="active"{{/if}}>
<a href ="{{assets }}/{{basename }}.html" >{{data.title }}</a >
</li >
{{/each }}
</ul >