javascript - Jade if else 速记来选择复选框

标签 javascript node.js express pug

select.className(((#{obj.active} == 1) ? selected : disabled))

我不知道为什么这会返回 Unexpected token = 错误,对我来说逻辑没问题。我一定是在某个地方做错了什么。

最佳答案

这里有两个问题:

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

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

以下是此处使用的正确语句:

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

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

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

关于javascript - Jade if else 速记来选择复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34737049/

相关文章:

javascript - 如何使用 SSL 将 haproxy 放在 socket.io 前面?获取混合内容警告

node.js - pg-promise 更新行数

HTML 表单未在 Express 中发送数据

javascript - Express 服务器上的同步编程是否会阻止其他访问者加载页面?

javascript - 通过 Express 获取和传递图像时出现问题

javascript - 如何将函数作为值传递给 jQuery 动画

javascript做减法的小数点太多

Node.js 加密 key 和 iv 以匹配 java SecretKeySpec/IvParameterSpec

javascript - 将空间保持在固定背景上方,您向上滚动

JavaScript parseInt 不正确的转换