【问题标题】:Express JS Jade Engine If statement nested in For loopExpress JS Jade 引擎 If 语句嵌套在 For 循环中
【发布时间】:2012-07-25 11:41:15
【问题描述】:

我似乎找不到解决办法。

我正在尝试在 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 语句;但是,我已经尝试了几乎所有制表符和空格的组合,以及将“option(val...”行放在与 if 语句在同一行的括号内。

【问题讨论】:

    标签: template-engine pug express


    【解决方案1】:

    布尔值周围的 typeof 是什么?带有phoneIndex == i 的手机不应该被选中吗?此外,Jade 的重点是拥有更简洁的代码。告诉我这是否有效:

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

    【讨论】:

    • 您好,感谢您的帮助。这很好用!至于typeof,这是我在尝试自己找出答案并意外复制时尝试的失败实验。(已编辑帖子以反映这一点,再次感谢您的帮助。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多