Javascript Jade中的生成属性

Javascript Jade中的生成属性,javascript,pug,Javascript,Pug,有没有一种在Jade中使用JavaScript生成属性的方法 在某些方面,比如EJS,人们可以做到: <div <?- bool ? 'attribute' : 'no attribute' ?>> option(selected=bool) Jade将为该属性生成适当的HTML输出。但据我所知,没有办法写出比这更复杂的东西了 问题不在于是否需要这样做;没有这一点,人们可能过得去。但是,在Jade中是否可能,我只是不知道?根据具体情况,您有几个选择 如果'no att

有没有一种在Jade中使用JavaScript生成属性的方法

在某些方面,比如EJS,人们可以做到:

<div <?- bool ? 'attribute' : 'no attribute' ?>>
option(selected=bool)
Jade将为该属性生成适当的HTML输出。但据我所知,没有办法写出比这更复杂的东西了


问题不在于是否需要这样做;没有这一点,人们可能过得去。但是,在Jade中是否可能,我只是不知道?

根据具体情况,您有几个选择

如果
'no attribute'
试图排除
属性
,您可以(但是,正如您已经注意到的,
false
也可以工作):

但是,如果您的目的是进行属性交换,则可以使用和完成此操作:


还有一些建议是从对象中指定属性,例如,它提供了一种使用
mixin
s的可能替代方法。

。唯一的问题是它是HTML而不是Jade。如果我想为这个元素嵌套子元素,它如何在Jade模板的缩进流中发挥作用?
div(attribute=condition ? 'value' : null)
| <div #{bool ? 'attribute' : 'no-attribute'}>
div(attribute=bool, no-attribute=!bool)