Express JS Jade Engine If语句嵌套在For循环中

时间:2012-07-26 19:45:26

标签: template-engine pug express

我似乎无法找到解决方案。

我正在尝试在Jade引擎中的for循环中嵌套if语句(使用express js)。

基本代码如下所示:

 form
    select
       for obj, i in phoneModel
          option(value='#{i}') #{obj.phone_model}

我想要做的是在for循环中有一个IF语句来检查可变“deviceIndex”是否是某个值。例如。如果deviceIndex == i,那么做一些事情,否则做其他事情。

我尝试过以下代码:

 form
    select
       for obj, i in phoneModel
          - if(phoneIndex == #{i})
             option(value='#{i}') #{obj.phone_model}
          - else
             option(value='#{i}' selected='selected') #{obj.phone_model}

它给出了“期望缩进,但得到了换行符”错误。我希望它是我在for循环中放置if语句;但是,我已经尝试了几乎所有制表符和空格的组合,并将“选项(val ...”行放在括号内与if语句位于同一行。

1 个答案:

答案 0 :(得分:2)

布尔值周围的typeof是什么?不应该选择phoneIndex == i的手机吗?此外,Jade的观点是要有更清晰的代码。告诉我这是否有效:

form
  select
    for obj, i in phoneModel  
      option(value=i, selected=phoneIndex==i)= obj.phone_model