复杂的迭代逻辑在霍根js?
我试图学习expressjs,我有一个控制器查询数据库,并返回一个JSON对象,看起来像这样:
[ { _id: 58cb851721c1c107ab436686, title: 'some title', content: 'this is content' }, { _id: 58cb856321c1c107ab436688, title: 'ah yes', content: 'more title and contents' } ... ... ]
我现在想要做的是显示数组中的每个元素在MDL卡布局。 所以,如果上面的json对象有20个对象,则应该有20张卡片,每个卡片显示它们各自的_id
, title
和content
属性的值。 要做到这一点,我将不得不像这样使用for循环:
for(var i = 0; i < data.length; i++) { <span> {{ data[i]._id }} </span> </br> <span> {{ data[i].title }} </span> </br> <span> {{ data[i].content }} </span> </br> }
这显然是非常容易的东西像ejs,因为它允许模板内的循环逻辑。 但我不知道如何做到这一点在HoganJS缺乏适当的文件显然不是帮助。 我已经search了很多interwebs无济于事。 目前我正在渲染模板,如:
res.render('index');
怎么可能做到这一点,怎么样? 或者我需要在我的路线上做一些体操?
Hogan.js是针对胡子testing套件开发的,因此对于模板而言,所有符合规范的东西都是hogan.js。
检查https://mustache.github.io/mustache.5.html
像这样的东西应该工作:
var obj = { data: [{ _id: 58cb851721c1c107ab436686, title: 'some title', content: 'this is content' }, { _id: 58cb856321c1c107ab436688, title: 'ah yes', content: 'more title and contents' }, ... ]};
和模板:
{{#data}} <span>{{_id}}</span> <span>{{title}}</span> <span>{{content}}</span> {{/data}}