把手js不渲染阵列

时间:2015-12-10 15:57:08

标签: javascript express handlebars.js

我已经工作了一段时间尝试从我运行的快速应用程序渲染数组,但我没有错误但没有显示。

这是我的把手模板:

<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 });
  });
});

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

但即使数组中至少有一个元素,用户列表也不会被渲染。有任何想法吗?我确定它有点小我不知道......

1 个答案:

答案 0 :(得分:3)

我不得不同意@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>