【发布时间】:2013-08-22 10:26:55
【问题描述】:
我正在尝试通过 Mongoose 从 MongoDB 获取用户并将他们发送到视图。出于某种原因,当我尝试遍历 Jade 模板中的 users 数组时,我从 app.js 中获取了 users 变量,而不是传递给视图的 users 数组。怎么可能在范围内?
另外,当我在视图中输出locals 变量时,我看到users 的正确值。奇怪。
// app.js
var users = new UsersController();
app.get('/', function(req, res) {
User.find(function(err, users) {
if (err) throw err;
res.render('home', { users: users });
});
});
// home.jade
div.users
each user in users
p!= user
【问题讨论】:
-
使用最新的 express 和 jam 在我的机器上进行快速测试,它按预期工作。
users是通过render第二个参数传递的用户列表。我刚刚做了:var users = [{name: "aaron"}, {name: "jane"}]; app.get('/', function(req, res) { res.render('home', { users : users}); }); -
是的,这很奇怪。我刚刚尝试了完全相同的设置,这次使用 EJS,它按预期工作。由于某种原因,Jade 没有访问传递给视图的
users,而是从 app.js 访问users -
还有其他区别吗?它对我来说和 Jade 一起工作。