Jade条件(if/else)将类添加到div内联

jst*_*s13 66 javascript node.js express pug

有没有办法在玉石模板中内联?

if(typeof fromEdit != 'undefined')
   div#demo.collapse.in
else
   div#demo.collapse
Run Code Online (Sandbox Code Playgroud)

想做这个条件检查"内联",如果fromEdit存在,结果会将.in添加到div的末尾.

Dog*_*ert 101

这有效:

div#demo.collapse(class=typeof fromEdit === "undefined" ? "" : "in")
Run Code Online (Sandbox Code Playgroud)

在这里尝试一下.

  • 但如果条件为false,你甚至不希望该元素具有`class`属性. (2认同)

Ark*_*oid 77

如果您不希望在没有值时添加class属性,则可以将其指定为undefined而不是空字符串.这是前面的例子,略有修改:

div#demo.collapse(class=typeof fromEdit === "undefined" ? undefined : "in")
Run Code Online (Sandbox Code Playgroud)

更新:此外,如果您正在使用哈巴狗,您现在可以根据class=需要添加任意数量的声明,并且它们将在生成的类属性中连接起来.例如:

#demo.collapse(class=cond1 && 'class1' class=cond2 && 'class2')
Run Code Online (Sandbox Code Playgroud)

  • +1,IMO这应该是接受的答案 (6认同)

inf*_*net 5

http://jade-lang.com/reference/attributes/中所述:

class属性[...]它也可以是将类名映射为true或false值的对象,这对于应用条件类很有用

任务也可以通过以下方式完成:

div#demo.collapse(class={ in: typeof fromEdit != 'undefined' })
Run Code Online (Sandbox Code Playgroud)

虽然它在这里不起作用http://naltatis.github.com/jade-syntax-docs/(我认为他们需要更新一些东西),但它适用于jade@1.11.0.