在jade中迭代javascript对象

时间:2014-05-17 06:48:51

标签: javascript json node.js pug sails.js

我通过控制器在sails.js中发送一个视图,其中包含布局参数,即标题和用户:

module.exports = {
  index: function(req, res) {
    User.find().done(function(err, users) {
      res.view('home/index', { 
        title: 'Tester',
        users: JSON.parse(JSON.stringify(users))
      });
    });
  }
};

此代码查找所有用户(截至目前只有1个),并且我将用户作为JSON发送视图。我正在尝试迭代JSON并打印每个用户的电子邮件,名称和ID。

extends ../layout

block body
  ul
    each user in users
      li= user.email

这是返回的数据:

[ { email: 'myemail@google.me',
    name: 'MyNameFull',
    id: 1,
    createdAt: '2014-05-17T03:41:16.000Z',
    updatedAt: '2014-05-17T03:41:16.000Z' } ]

我在第5行(each user in users)收到此错误:

3| block body\n    4| \tul\n  > 5| \t\teach user in users\n    6| \t\t\tli= user.email\n\nCannot read property 'length' of undefined"

1 个答案:

答案 0 :(得分:0)

修正了它!

在我的config/routes.js文件中,我有这段代码:

'/': {
  view: 'home/index'
}

将其更改为:

'get /': 'UserController'

它没有指向合适的控制器...