我正在尝试学习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缺少适当的文档显然无济于事。我在互联网上搜索了很多,但无济于事。目前,我正在渲染模板,如下所示:
res.render('index');
有可能在霍根(hogan)中这样做吗?还是我需要在路线上做些体操?
最佳答案
Hogan.js是针对髭测试套件开发的,因此,对于指定的模板而言,适用的所有内容对于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}}