Jade有条件的(if / else)将class添加到div内联
有没有办法做到这一点在玉模板内联?
if(typeof fromEdit != 'undefined') div#demo.collapse.in else div#demo.collapse
想要做这个条件检查“内联”,如果fromEdit存在,结果会将.in添加到div的末尾。
这工作:
div#demo.collapse(class=typeof fromEdit === "undefined" ? "" : "in")
试试看。
如果不希望在没有值时添加class属性,则可以将其指定为undefined而不是空string。 这是前面的例子,稍加修改:
div#demo.collapse(class=typeof fromEdit === "undefined" ? undefined : "in")
更新:另外,如果你正在使用帕格 ,你现在可以添加尽可能多的class=
声明,只要你想使用不同的条件,他们将被连接在生成的class属性中。 例如:
#demo.collapse(class=cond1 && 'class1' class=cond2 && 'class2')
正如http://jade-lang.com/reference/attributes/所logging的那样:;
类属性[…]它也可以是一个对象映射类名到true或false值,这对于应用条件类很有用
任务也可以通过以下方式完成:
div#demo.collapse(class={ in: typeof fromEdit != 'undefined' })
虽然这不起作用http://naltatis.github.com/jade-syntax-docs/ (我认为他们需要更新的东西),但它适用于jade@1.11.0。
用帕格2,你可以使用这个语法:
div#demo(class="collapse", class={"in": typeof fromEdit !== 'undefined'}) Home page
更多在这里: https : //pugjs.org/language/attributes.html
虽然是一个老问题,但我发现自帕格以来的作品包括内置的对象存在检测:
div#demo.collapse(class=fromEdit? 'in':undefined)
如果不是很明显,这将检查fromEdit
存在以及是否作为类进入,否则将类留空。