【发布时间】:2013-01-03 12:22:26
【问题描述】:
这是我的问题:
我的 express 代码中某处有这个渲染函数:
function renderWithData(arrayOfEvents, res) {
res.render("index", {
locals: {
pageTitle: "Wochenplaner",
events: arrayOfEvents
}
});
}
它向 index.jade 传递一个名为 events 的变量。 现在我想在jade中解析这个变量,例如这样:
- if(locals.events[0] == true) alert("Bla");
但是 express 告诉我 locals.events 是未定义的。 我如何正确地将变量传递给那种“rendering-javascript”?
【问题讨论】:
-
你试过
- if (events[0] ...吗? -
是的,这显然不起作用,因为 events 是 locals 对象的属性。所以它告诉我“未定义事件”我也试过这个: if(locals.events[i].time === i+7 && locals.events[i].day === 0) 也不起作用,然后它告诉我时间和日期没有定义。但是事件中肯定有数据,因为当我在 html 文件中打印 #{locals.events[0].day} 时,有需要的数据!
-
啊,我明白了。好吧,首先,我认为您不需要
locals对象,但这是个人喜好问题。其次,它可能是arrayOfEvents没有被通过,或者是undefined。 -
您使用的是 express 3 吗?如果是这样,您不应该将这样的本地人传递给
.render。就做.render("index", { events: arrayOfEvents })
标签: javascript node.js express pug