我是NodeJS
和ExpressJS
的新手。我想创建自定义for
循环,以便通过NodeJS
数据遍历index
数据,就像我们用于非for
循环一样。
检查NodeJS
中的以下代码,其中我将获得角色User
的所有用户并将用户转到handlebars
视图。
exports.getAll = function (req, res) {
models.Users.findAll({
where: {
role: {$ne: "User"}
}
}).then(users => {
return res.render('users/index', {users: users});
}).catch(error => {
return res.json(error);
});
};
检查我的车把视图。从下面的代码我能够遍历所有用户,但我不想这样使用。
我希望使用正常的for
循环for(index = 0; index < count(users); index++
<table class="table table-hover table-light">
<thead>
<tr class="uppercase">
<th class="col-md-2"> Login </th>
<th class="col-md-6"> Description </th>
<th class="col-md-2"> </th>
</tr>
</thead>
<tbody>
{{#each users}}
<tr>
<td> {{username}} </td>
<td> {{about_me}} </td>
<td>
<button type="button" id="#basic" data-toggle="modal" href="#basic" class="btn btn-blue btn-xs">Edit</button>
<button type="button" class="btn btn-danger btn-xs">Remove</button>
</td>
</tr>
{{/each}}
</tbody>
</table>
我尝试创建辅助函数。检查以下代码
hbs.registerHelper('for', function(from, to, incr, block) {
var accum = '';
for(var i = from; i < to; i += incr)
accum += block.fn(i);
return accum;
});
是否可以在for
模板引擎中创建正常的handlebars
循环?
有人可以帮我创建新的辅助函数吗?
答案 0 :(得分:1)
您需要使用{{@key}}
才能在循环中使用index
值,
例如,
<tbody>
{{#each users}}
<tr>
<td> {{username}} - {{@key}} </td>
</tr>
{{/each}}
</tbody>
希望这有帮助!