句柄js未呈现数组

handlebars js not rendering array

本文关键字:数组 js 句柄      更新时间:2023-09-26

我已经工作了一段时间,试图从我运行的express应用程序中渲染数组,但我没有收到任何错误,但没有显示任何内容。

这是我的车把模板:

<h3>Registered Users:</h3>
<h5>{{users}}</h5>
<ul class="list-group">
    {{#each users}}
    <li class="list-group-item">
        {{this.fields.username}}
    </li>
    {{/each}}
</ul>

这是我返回用户的快捷代码。

/* GET users listing. */
router.get('/', function(req, res, next) {
  api.getUsers(function(response, body){
    console.log(body);
    res.render('users/list', { 'users': body });
  });
});

起初,我认为用户数组没有正确地从express传递过来,但在模板中,你可以看到我只是显示了用户,显示的对象就是我认为的

但是,即使数组中至少有一个元素,用户列表也不会被渲染。有什么想法吗?我确信这是我错过的一件小事。。

我不得不同意@Joe Attardi的观点,你的模板应该更像这样:

<h3>Registered Users:</h3>
<h5>{{users}}</h5>
<ul class="list-group">
    {{#each users as |user|}} <!-- get each user as user from users -->
    <li class="list-group-item">
        {{user.username}}
    </li>
    {{/each}}
</ul>