Jade - 如果定义,只输出一个属性?

时间:2015-02-22 11:12:53

标签: javascript node.js pug

我毫不怀疑有人会这样做:

id="#{data.id}"

输出

<input id="undefined"> //if I haven't defined id

所需

//If ID is undefined
<input>
//If ID is defined
<input id="someID">

2 个答案:

答案 0 :(得分:0)

你可以简单地编码:

input(id= data.id)

如果idundefined,这是一个有价值的值,Jade不会将该属性添加到代码中。在设置checkedselected属性属性时,此功能也很有用。

另一种选择是使用&attributes语法:

- var attrs = data.id ? {id: data.id} : null;
input&attributes(attrs)

答案 1 :(得分:0)

您可以将代码包装在if ... else语句中,以便结束未定义id的情况:

id = data.id
if id === "undefined"
  input#someID
else
  input#id