【问题标题】:Jade/Pug if else condition usageJade/Pug if else 条件使用
【发布时间】:2013-02-07 06:27:14
【问题描述】:

我正在使用 Node.js 从我的 .js 文件向 .jade 文件发送日期。当#{date} 字段为false 时,它执行else 并打印man 作为它的答案。可能出了什么问题?

if #{date} == false
  | #{date}
else
  | man

【问题讨论】:

    标签: node.js pug


    【解决方案1】:

    如果日期为假,你想输出字符串'man'吗? 如果是,那么您的 if 和 else 语句是错误的方法......

    怎么样:

    if date
      = date
    else
      | man
    

    甚至:

    | #{date ? date : 'man'}
    

    或者简单地说:

    | #{date || 'man'}
    

    【讨论】:

      【解决方案2】:

      在 if 表达式中你写的是普通的变量名,没有 #{...}

      if date == false
        | #{date}
      else
        | man
      

      【讨论】:

        【解决方案3】:

        你的说法是倒退的。对于语法,您可以使用这种样式来工作:

        p Date:
          if date
            | date
          else
            |  man
        

        在表达式中不需要#{} 是正确的。我无法让= 工作,或者其他答案的其他方式。

        三元样式

        对于我自己,我也在寻找三元运算符在一行上执行此操作。我把它缩小到这个:

        p Date: #{(date ? date : "man")}
        

        或者,您可以使用 var,它增加了一行,但仍然比 OP 少:

        - var myDate = (date ? date : "man")
        p Date: #{myDate}
        

        按照另一个答案的建议,我无法使以下工作正常进行。

        | #{date ? date : 'man'}
        

        【讨论】:

          猜你喜欢
          • 2015-05-23
          • 2017-02-16
          • 1970-01-01
          • 2012-12-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-25
          • 1970-01-01
          相关资源
          最近更新 更多