0

有没有办法在 Jade 中使用 JavaScript 生成属性?

在诸如 EJS 之类的东西中,可以这样做:

<div <?- bool ? 'attribute' : 'no attribute' ?>>

显然,Jade 中没有等价物。当然我可以这样做:

option(selected=bool)

Jade 会为此属性生成适当的 HTML 输出。但据我所知,没有办法写出比这更复杂的东西了。

问题不在于是否需要这样做。如果没有这个,一个人可能会过得去。但是,在 Jade 中是否有可能而我只是不知道?

4

1 回答 1

2

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

如果'no attribute'试图排除attribute,您可以将其设置为nullorundefined(尽管,正如您已经指出的,false也可以工作):

div(attribute=condition ? 'value' : null)

但是,如果您的意图是属性交换,则可以使用嵌入式标记插值来完成此操作:

| <div #{bool ? 'attribute' : 'no-attribute'}>

或者,我相信您必须分别设置每个条件:

div(attribute=bool, no-attribute=!bool)

还有一些从对象中指定属性的建议,例如#664,它提供了mixins 的可能替代方案。

于 2013-03-04T02:10:23.123 回答