Pug 语法中的三元运算符

Ars*_*sen 6 frontend conditional-operator pug

是否可以在 Pug 代码中使用三元运算符?

我尝试让它发挥作用:

哈巴狗文件

- var disabled = true
input(type="checkbox" disabled ? disabled : null)
Run Code Online (Sandbox Code Playgroud)

HTML 结果

<input disabled ? disabled : null></input>
Run Code Online (Sandbox Code Playgroud)

HTML 期望的结果

<input disabled></input>
Run Code Online (Sandbox Code Playgroud)

我知道这里描述的标准条件 Pug 语法,但很难相信在现代 Pug 语法中没有机会使用三元运算符。

谢谢你帮助我!

Gra*_*ham 6

你已经非常接近了 - Pug 只需要一个属性即可开始处理。您的代码只是进行评估,不属于任何属性。

因此,只需在前面添加要评估的属性,然后将三元运算符放在其后面即可。在这种情况下,您只想disabled出现,仅此而已,所以让我们使用空字符串表示 true,使用 null 表示 false,让 pug 知道要做什么。

它正在codepen中工作。

div
  - var disabled = true;
  input(disabled = disabled ? '' : null)
Run Code Online (Sandbox Code Playgroud)

随着true, pug 生成<input disabled>.

随着false, pug 生成<input>.