handlebars.js
相对较新,但不是模板。我使用两个循环按特定顺序输出标记。 collections.intro
和collections.elements
都由https://github.com/segmentio/metalsmith-collections创建。
的Javascript
var order = ['intro', 'elements'];
collections.intro = [
{ title: 'One' },
{ title: 'Two' }
];
collections.elements = [
{ title: 'One' },
{ title: 'Two' }
];
车把
{{#each order}}
{{this}} /* intro, elements */
{{#each ../collections.[this]}}
{{this.title}}
{{/each}}
{{/each}}
无论如何使用this
循环中的order
来访问正确的collections
。在硬编码时,collections[intro]
和collections[elements]
都有效。
答案 0 :(得分:1)
管理以使用自定义帮助程序解决此问题:
<强>的Javascript 强>
.imgLink
<强>车把强>
Handlebars.registerHelper( 'collection', function ( slug, options ) {
return options.data.root.collections[slug];
});