将数组传递给jade文件

时间:2013-01-03 12:22:27

标签: javascript node.js express pug

所以这是我的问题:

我的快速代码中有这个渲染功能:

    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”?

1 个答案:

答案 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

抱歉浪费你的时间:)

相关问题