私のHandlebarsテンプレートでは、if条件を使用して配列を見つけ、各反復子を使用してループしています。直接の子(配列)は機能しますが、サブ配列を反復処理できません..
ここに私のオブジェクトとテンプレートがあります:
var page = {
"DashBoard":[
{"tittle":"DashBoard"},
{"widget":[{"slide":"To do"},{"slide":"Teamspace"},{"slide":"Recent Activity"}]},
{"activity":[
{"option":[{"show":"Volvo"},{"show":"Benz"},{"show":"Honda"}]},
{"rows":[
{"dTittle":"Advert1", "text":"sample text1", "date":"22-06-2013"}
,{"dTittle":"Advert2", "text":"sample text2", "date":"22-06-2014"}
,{"dTittle":"Advert3", "text":"sample text3", "date":"22-06-2015"}
,{"dTittle":"Advert4", "text":"sample text4", "date":"22-06-2016"}
,{"dTittle":"Advert5", "text":"sample text5", "date":"22-06-2017"}
]}
]}
]
}
var temp = Handlebars.compile($("#pageTemp").html());
$("#page").html(temp(page["DashBoard"]));
私のテンプレートは次のとおりです。
<div id="page"></div>
<script id="pageTemp" type="handlebars-x-template">
{{#each this}}
<div>
<h2>{{tittle}}</h2>
<ul>
{{#if this.widget.length}}
{{#each this.widget}}
<li>{{slide}}</li>
{{/each}}
{{/if}}
</ul>
<div>
{{#if this.activity.length}}
<select>
{{#if this.activity.option.length}}
{{#each this.activity.option}}
<option>{{show}}</option>
{{/each}}
{{/if}}
</select>
{{#if this.activity.rows.length}}
{{#each this.activity.rows}}
<p>
<span>{{dTittle}}</span>
<div>{{text}} <span>{{date}}</span></div>
</p>
{{/each}}
{{/if}}
{{/if}}
</div>
</div>
{{/each}}
</script>
しかし、私はこの両方を使用して正しい結果を得ていません..ここで何が間違っているのですか?誰かが適切な結果を得るのを助けてくれますか?
前もって感謝します!