【问题标题】:Jade if else shorthand to select checkboxJade if else 选择复选框的简写
【发布时间】:2016-01-12 06:37:28
【问题描述】:
select.className(((#{obj.active} == 1) ? selected : disabled))

我不知道为什么这会给我一个错误Unexpected token =,对我来说逻辑很好。我一定在某处做错了什么。

【问题讨论】:

  • 让我们试试 : select(class=(#{obj.active} == 1) ? "selected" : "disabled")
  • 我可以看到一个额外的右括号 ) 在最后,尝试删除它..
  • @ManojSalvi 这不是额外的括号,尝试删除它不起作用
  • @trquoccuong 意外令牌非法,我的 ClassName 在哪里?

标签: javascript node.js express pug


【解决方案1】:

这里有两个问题:

  1. 您正在尝试在表达式中使用 interpolation,这既不需要也不起作用,并且
  2. 三元运算符的输出没有被引用,Jade/Pug 会将其解释为变量而不是字符串。

请注意,此错误消息是由第一个问题引起的。

这里是正确的说法:

select.className( obj.active == 1 ? 'selected' : 'disabled' )

如果您的 obj.active 变量为 1 或 0(或未定义),则考虑将其简化为三元运算符的“真实性”将拒绝 0 和未定义并解析第二个值:

select.className( obj.active ? 'selected' : 'disabled' )

【讨论】:

    猜你喜欢
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多