0

我无法让 Jade 正确缩进 for 循环中的代码:

div.container
    - var cell = 0
    - for(var i = 0; i < results.Items.Item.length; i++)
        - if(cell == 0)
            div.row
                div.span3
                    div.cell
                        span #{results.Items.Item[i].ItemAttributes.Title}
        - else
                    div.span3
                        div.cell
                            span #{results.Items.Item[i].ItemAttributes.Title}
        - if(cell < 3)
            - cell++;
        - else
            - cell = 0

else 语句中的代码不会进入 div.row,而是呈现在 div.container 下,或者与 div.row 处于同一级别。我需要 else 语句中的代码在 div.row 中呈现。我怎样才能让 Jade 做到这一点?

我想要做的是让 div.row 渲染,然后在每 4 个 div.cell (由单元格对象计数)之后渲染另一个 div.row

4

2 回答 2

1

我相信你必须这样做:

div.container
    - var cell = 0
    - for(var i = 0; i < results.Items.Item.length; i++)
        div.row
            div.span3
                div.cell
                    span #{results.Items.Item[i].ItemAttributes.Title}

        - if(cell < 3)
            - cell++;
        - else
            div.row
            - cell = 0
于 2012-05-08T05:12:54.100 回答
0

使用花括号“{”和“}”

div.container
        - var cell = 0
        - for(var i = 0; i < results.Items.Item.length; i++){
            - if(cell == 0){
                div.row
                    div.span3
                        div.cell
                            span #{results.Items.Item[i].ItemAttributes.Title}
            - }
            - else{
                        div.span3
                            div.cell
                                span #{results.Items.Item[i].ItemAttributes.Title}
            - }
            - if(cell < 3)
                - cell++
            - else
                - cell = 0
        - }
于 2012-08-15T08:28:57.563 回答