Jade の条件付きブロック内に変数を設定しています。2 つの異なるタイプの評価のうち、ゼロ、1 つ、または 2 つのオブジェクトが多数あります。各オブジェクトは 2 つの<span>
タグを取得します。評価が存在しない場合、span タグは空白のままになります。それ以外の場合は、適切な評価を span タグに挿入します。DOM のさらに下で将来使用するための変数が必要です。
ここで次の Jade コードを試すことができます:
http://cssdeck.com/labs/a5rru5vj
編集:以下の簡単な解決策、他の人に役立つ場合に備えてこれを残します:D
//Jade
- var demo = [{rating1:'2.5'}, {rating2:3.333333}]
each obj in demo
if(obj.rating1 !== undefined)
- var r1 = obj.rating1 || ""
= r1
else
- var r1 = ""
= r1
if(obj.rating2 !== undefined)
- var r2 = String(obj.rating2).slice(0,3)
= r2
else
- var r2 = ""
= r2
div.objIndex(data-obj=JSON.stringify(obj))
span.myRating= r1
span.googleRating= r2
// output html (with whitespace cleaned up)
// Note that Jade is writing the variables into the output, why, and how to avoid this?
<body>
2.5
<div data-obj="{"rating1":"2.5"}" class="objIndex">
<span class="myRating">
2.5
</span>
<span class="googleRating">
</span>
</div>
3.3
<div data-obj="{"rating2":3.333333}" class="objIndex">
<span class="myRating">
</span>
<span class="googleRating">
3.3
</span>
</div>
</body>