条件正在被pug包含在HTML输出中"/>
我的条件正在被pug包含在HTML输出中
我在一个pug模板里有以下代码。
body
h1(style="text-align: center;") Invoice Number #{invoiceNum}
table(id="addr-tbl")
tr
td(style="width:50%").
#{vendor.name}<br>
#{vendor.addrLine1}<br>
#{vendor.addrLine2}<br>
#{vendor.addrLine3}<br>
if (vendor.addrCity)
#{vendor.addrCity}
if (vendor.addrState)
, #{vendor.addrState}
if (vendor.addrPostalCode)
#{vendor.addrPostalCode}
<br>
这段代码输出了我的 if
语句到HTML中。然后我试了这个。
td(style="width:50%").
#{vendor.name}<br>
#{vendor.addrLine1}<br>
#{vendor.addrLine2}<br>
#{vendor.addrLine3}<br>
if (vendor.addrCity)
|#{vendor.addrCity}
if (vendor.addrState)
|, #{vendor.addrState}
if (vendor.addrPostalCode)
| #{vendor.addrPostalCode}
<br>
它没有输出 if
语句,但它也输出 addrCity
, addrState
和 addrPostalCode
外围 td
标签。
目的是输出这些地址组件的每一个(可能在后面加一个逗号),只有当它们不属于 null
undefined
. 否则,什么都没有。
如何在pug中实现这个功能?
回答如下:后面的 .
在你 td
强制将内容改为文本。如果你的文本和代码混合在一起。
td(style="width:50%")
| #{vendor.name}<br>
| ...
| #{vendor.addrLine3}<br>
if (vendor.addrCity)
| #{vendor.addrCity}
那么你就可以更明确地知道什么是代码什么是文本。
更多推荐
我的条件正在被pug包含在HTML输出中
发布评论