所以这是我的问题:
我的快速代码中有这个渲染功能:
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 是未定义的。 我如何正确地将变量传递给那种“render-javascript”?
答案 0 :(得分:0)
好的,我是个菜鸟!
在我的实现中,这个if-construct是cyceld,就像这样:
for(var i = 0; i < number; i++) {
if(locals.events[i].time == 7) alert("bla");
}
我没有考虑的是,locals.events [i] .time可能是“未定义的”,因为该数组中的索引根本没有日期。 所以我通过添加以下内容来解决这个问题:
if(typeof locals.events[i].time !== "undefined" && locals.events[i].time == 7) alert("bla");
访问js-variable并将节点代码传递给jade的正确方法是通过对象访问它。如果这是我的对象:
locals: {
pageTitle: "Wochenplaner",
events: arrayOfEvents
}
然后我会像这样在Jade中访问它:
locals.events[index].property
抱歉浪费你的时间:)